return TrimR(TrimL(val));
}
//---------------------------------------------------------------------------
+std::string ToLower(std::string value)
+{
+ std::transform(value.begin(), value.end(), value.begin(), ::tolower);
+ return value;
+}
+//---------------------------------------------------------------------------
+std::string ToUpper(std::string value)
+{
+ std::transform(value.begin(), value.end(), value.begin(), ::toupper);
+ return value;
+}
+//---------------------------------------------------------------------------
#ifdef WIN32
static int is_leap(unsigned y)
{
std::string & TrimR(std::string & val);
std::string & Trim(std::string & val);
+std::string ToLower(std::string value);
+std::string ToUpper(std::string value);
+
template <typename C, typename F>
C Split(const std::string & value, char delim, F conv)
{