From 73fa0a8df8203288aca032c71caa5ff47d35a3e2 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 17 Dec 2015 10:47:02 +0100 Subject: Remove unused functions --- include/astra/Utilities.h | 77 ----------------------------------------------- 1 file changed, 77 deletions(-) (limited to 'include') 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 #include -#include -#include #include #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 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 -- cgit v1.2.3 From fc86917da1a175c04e9bd2e5f0bedb0a48a81c26 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 17 Dec 2015 14:37:41 +0100 Subject: Replace boost::lexical_cast by stringstreams This is to avoid the dependence of lexical_cast on the current locale. The stringstreams used for the new string parsing/output functions are explicitly imbued with the C/classic locale. --- include/astra/Utilities.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++ include/astra/XMLNode.h | 8 ++++++++ 2 files changed, 59 insertions(+) (limited to 'include') diff --git a/include/astra/Utilities.h b/include/astra/Utilities.h index a3655a8..3ae0e6c 100644 --- a/include/astra/Utilities.h +++ b/include/astra/Utilities.h @@ -39,6 +39,57 @@ namespace astra { +namespace StringUtil { + +// Exception thrown by functions below +class bad_cast : public std::exception { +public: + bad_cast() { } +}; + + +//< Parse string as int. +//< Throw exception on failure. +int stringToInt(const std::string& s); + +//< Parse string as float. +//< Throw exception on failure. +float stringToFloat(const std::string& s); + +//< Parse string as double. +//< Throw exception on failure. +double stringToDouble(const std::string& s); + +template +T stringTo(const std::string& s); + +//< Parse comma/semicolon-separated string as float vector. +//< Throw exception on failure. +std::vector stringToFloatVector(const std::string& s); + +//< Parse comma/semicolon-separated string as double vector. +//< Throw exception on failure. +std::vector stringToDoubleVector(const std::string& s); + +template +std::vector stringToVector(const std::string& s); + + + +//< Generate string from float. +std::string floatToString(float f); + +//< Generate string from double. +std::string doubleToString(double f); + +template +std::string toString(T f); + +} + + + + template std::map mergeMap(std::map _mMap1, std::map _mMap2) { diff --git a/include/astra/XMLNode.h b/include/astra/XMLNode.h index 4d29d5c..7d1edf5 100644 --- a/include/astra/XMLNode.h +++ b/include/astra/XMLNode.h @@ -101,6 +101,12 @@ public: */ string getContent() const; + /** Get the content of the XML node as an integer + * + * @return node content + */ + int getContentInt() const; + /** Get the content of the XML node as a numerical. * * @return node content @@ -152,6 +158,7 @@ public: */ float32 getAttributeNumerical(string _sName, float32 _fDefaultValue = 0) const; double getAttributeNumericalDouble(string _sName, double _fDefaultValue = 0) const; + int getAttributeInt(string _sName, int _fDefaultValue = 0) const; /** Get the value of a boolean attribute. * @@ -186,6 +193,7 @@ public: * @return option value, _fDefaultValue if the option doesn't exist */ float32 getOptionNumerical(string _sKey, float32 _fDefaultValue = 0) const; + int getOptionInt(string _sKey, int _fDefaultValue = 0) const; /** Get the value of an option within this XML Node * -- cgit v1.2.3