diff options
Diffstat (limited to 'src/auxiliary')
| -rw-r--r-- | src/auxiliary/functions.cc | 32 | ||||
| -rw-r--r-- | src/auxiliary/functions.h | 7 | 
2 files changed, 39 insertions, 0 deletions
diff --git a/src/auxiliary/functions.cc b/src/auxiliary/functions.cc index b417a4a..e9861ac 100644 --- a/src/auxiliary/functions.cc +++ b/src/auxiliary/functions.cc @@ -64,6 +64,38 @@ size_t text_length(const std::string &text)  	return len;  } +const std::string text_strip(const std::string &text) +{ +	const char *c = text.c_str(); +	std::string r; +	while (*c) { +		if (is_color_code(c)) { +			c++; +		} else { +			r += *c; +		} +		c++; +	} + +	return r; +} + +const std::string text_strip_lowercase(const std::string &text) +{ +	const char *c = text.c_str(); +	std::string r; +	while (*c) { +		if (is_color_code(c)) { +			c++; +		} else { +			r += tolower(*c); +		} +		c++; +	} + +	return r; +} +  const std::string spaces(const std::string &text,size_t n)  {  	size_t l = text_length(text); diff --git a/src/auxiliary/functions.h b/src/auxiliary/functions.h index 2202b87..90eb2ed 100644 --- a/src/auxiliary/functions.h +++ b/src/auxiliary/functions.h @@ -42,6 +42,13 @@ void to_lowercase(std::string &text);  /// return text, converted to lowercase  const std::string lowercase(const std::string &text); + +/// return text, stripped of color codes +const std::string text_strip(const std::string &text); + +/// return text, stripped of color codes and converted to lowercase +const std::string text_strip_lowercase(const std::string &text); +  }  #endif // __INCLUDED_AUX_FUNCTIONS_H__  | 
