/* aux/functions.cc This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_AUX_FUNCTIONS_H__ #define __INCLUDED_AUX_FUNCTIONS_H__ #include /// auxiliary functions namespace aux { /// if n != 1, append a plural s to word const std::string plural(const char * word, size_t n); inline const std::string plural(const std::string & word, size_t n) { return plural(word.c_str(), n); } /// prepend the "a" or "an" article to a word const std::string article(const char * word); inline const std::string article(const std::string & word) { return article(word.c_str()); } inline bool is_base_color_code(char const *c) { return ((*c == '^') && (*(c+1) >= '0') && (*(c+1) <= '9')); } inline bool is_core_color_code(char const *c) { return ((*c == '^') && (*(c+1) >= 'A') && (*(c+1) <= 'Z')); } inline bool is_color_code(char const *c) { return (is_base_color_code(c) || is_core_color_code(c)); } } #endif // __INCLUDED_AUX_FUNCTIONS_H__