diff options
-rw-r--r-- | include/astra/Utilities.h | 77 | ||||
-rw-r--r-- | src/Utilities.cpp | 97 |
2 files changed, 0 insertions, 174 deletions
diff --git a/include/astra/Utilities.h b/include/astra/Utilities.h index 68471d0..a3655a8 100644 --- a/include/astra/Utilities.h +++ b/include/astra/Utilities.h @@ -31,89 +31,12 @@ $Id$ #include <string> #include <vector> -#include <algorithm> -#include <sstream> #include <map> #include "Globals.h" namespace astra { -/** - * This class contains some usefull static utility functions for std strings. - */ -class StringUtil { - -public: - /** - * Removes whitespace characters such as spaces and tabs at the extremas. - * Optionally you can specify which extrema to trim (default=both) - * - * @param _sString The string to trim. - * @param _bLeft Trim the left extrema? Default = true. - * @param _bRight Trim the right extrema? Default = true. - */ - static void trim(std::string& _sString, bool _bLeft = true, bool _bRight = true); - - /** - * Returns a vector of strings that contains all the substrings delimited by - * the characters in _sDelims. - * - * @param _sString The string to split. - * @param _sDelims The delimiter string. - * @return Vector of strings. - */ - static std::vector<std::string> split(const std::string& _sString, const std::string& _sDelims); - - /** - * Cast a string to an integer. - * - * @param _sString The string to cast. - * @param _iValue Output integer parameter. - * @return success? - */ - static bool toInt(const std::string& _sString, int& _iValue); - - /** - * Cast a string to a float32. - * - * @param _sString The string to cast. - * @param _fValue Output float32 parameter. - * @return success? - */ - static bool toFloat32(const std::string& _sString, float32& _fValue); - - /** - * Convert a string to lower case. - * - * @param _sString The string to convert. - */ - static void toLowerCase(std::string& _sString); - - /** - * Convert a string to upper case. - * - * @param _sString The string to convert. - */ - static void toUpperCase(std::string& _sString); -}; - -/** - * This class contains some usefull static utility functions for std strings. - */ -class FileSystemUtil { - -public: - /** - * Get the extensions of a filename. Always in lower case. - * - * @param _sFilename file to get extensions from. - * @return Extension (lower case). Empty string if filename is a directory or not a valid file format. - */ - static std::string getExtension(std::string& _sFilename); - - -}; template<typename T, typename S> diff --git a/src/Utilities.cpp b/src/Utilities.cpp index 3f65e9a..cb54e93 100644 --- a/src/Utilities.cpp +++ b/src/Utilities.cpp @@ -28,101 +28,4 @@ $Id$ #include "astra/Utilities.h" -using namespace std; -using namespace astra; -//----------------------------------------------------------------------------- -// Trim Whitespace Characters -void StringUtil::trim(std::string& _sString, bool _bLeft, bool _bRight) -{ - // trim right - if (_bRight) - _sString.erase(_sString.find_last_not_of(" \t\r") + 1); - - // trim left - if (_bLeft) - _sString.erase(0, _sString.find_first_not_of(" \t\r")); -} -//----------------------------------------------------------------------------- -// Split String -vector<string> StringUtil::split(const string& _sString, const string& _sDelims) -{ - std::vector<string> ret; - - size_t start, pos; - start = 0; - do { - pos = _sString.find_first_of(_sDelims, start); - if (pos == start) { - // Do nothing - start = pos + 1; - } else if (pos == string::npos) { - // Copy the rest of the string - ret.push_back(_sString.substr(start)); - break; - } else { - // Copy up to newt delimiter - ret.push_back(_sString.substr(start, pos - start)); - start = pos + 1; - } - - // Parse up to next real data (in case there are two delims after each other) - start = _sString.find_first_not_of(_sDelims, start); - } while (pos != string::npos); - - return ret; -} -//----------------------------------------------------------------------------- -// Cast string to int -bool StringUtil::toInt(const string& _sString, int& _iValue) -{ - std::istringstream ss(_sString); - ss >> _iValue; - return !ss.fail(); -} -//----------------------------------------------------------------------------- -// Cast string to float -bool StringUtil::toFloat32(const string& _sString, float32& _fValue) -{ - std::istringstream ss(_sString); - ss >> _fValue; - return !ss.fail(); -} -//----------------------------------------------------------------------------- -// Convert string to Lower Case -void StringUtil::toLowerCase(std::string& _sString) -{ - std::transform(_sString.begin(), - _sString.end(), - _sString.begin(), - ::tolower); -} -//----------------------------------------------------------------------------- -// Convert string to Upper Case -void StringUtil::toUpperCase(std::string& _sString) -{ - std::transform(_sString.begin(), - _sString.end(), - _sString.begin(), - ::toupper); -} -//----------------------------------------------------------------------------- - - - - -//----------------------------------------------------------------------------- -// Get Extension -string FileSystemUtil::getExtension(string& _sFilename) -{ - string sExtension = ""; - for (int i = _sFilename.length() - 1; 0 < i; i--) { - if (_sFilename[i] == '.') { - std::transform(sExtension.begin(),sExtension.end(),sExtension.begin(),::tolower); - return sExtension; - } - sExtension = _sFilename[i] + sExtension; - } - return ""; -} -//----------------------------------------------------------------------------- |