diff options
Diffstat (limited to 'src/core/Utils.hpp')
| -rw-r--r-- | src/core/Utils.hpp | 65 | 
1 files changed, 65 insertions, 0 deletions
diff --git a/src/core/Utils.hpp b/src/core/Utils.hpp new file mode 100644 index 0000000..2fcd794 --- /dev/null +++ b/src/core/Utils.hpp @@ -0,0 +1,65 @@ +/* +    Ousía +    Copyright (C) 2014, 2015  Benjamin Paaßen, Andreas Stöckel + +    This program is free software: you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation, either version 3 of the License, or +    (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + + +#ifndef _OUSIA_UTILS_H_ +#define _OUSIA_UTILS_H_ + +#include <string> + +namespace ousia { + +class Utils { + +public: + +	/** +	 * Returns true if the given character is in [A-Za-z] +	 */ +	static bool isAlphabetic(const char c) +	{ +		return ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')); +	} + +	/** +	 * Returns true if the given character is in [0-9] +	 */ +	static bool isNumeric(const char c) +	{ +		return (c >= '0') && (c <= '9'); +	} + +	/** +	 * Returns true if the given character is in [A-Za-z0-9] +	 */ +	static bool isAlphanumeric(const char c) +	{ +		return isAlphabetic(c) || isNumeric(c); +	} + +	/** +	 * Returns true if the given character is in [A-Za-z_][A-Za-z0-9_-]* +	 */ +	static bool isIdentifier(const std::string &name); + +}; + +} + +#endif /* _OUSIA_UTILS_H_ */ +  | 
