Skip to content
Snippets Groups Projects
stringOps.C 26.6 KiB
Newer Older
  • Learn to ignore specific revisions
  •         {
                ++beg;
            }
    
            if (beg)
            {
                s.erase(0, beg);
            }
        }
    }
    
    
    Foam::string Foam::stringOps::trimRight(const string& s)
    {
    
            auto n = s.size();
            while (n && std::isspace(s[n-1]))
    
    void Foam::stringOps::inplaceTrimRight(std::string& s)
    
            auto n = s.size();
            while (n && std::isspace(s[n-1]))
    
    }
    
    
    Foam::string Foam::stringOps::trim(const string& original)
    {
    
        return trimLeft(trimRight(original));
    
    void Foam::stringOps::inplaceTrim(std::string& s)
    
        inplaceTrimRight(s);
        inplaceTrimLeft(s);
    
    }
    
    
    Foam::string Foam::stringOps::lower(const string& original)
    {
        string s(original);
        inplaceLower(s);
        return s;
    }
    
    
    void Foam::stringOps::inplaceLower(std::string& s)
    {
        for (auto iter = s.begin(); iter != s.end(); ++iter)
        {
            *iter = static_cast<std::string::value_type>
            (
                std::tolower(static_cast<unsigned char>(*iter))
            );
        }
    }
    
    
    Foam::string Foam::stringOps::upper(const string& original)
    {
        string s(original);
        inplaceUpper(s);
    
    void Foam::stringOps::inplaceUpper(std::string& s)
    {
        for (auto iter = s.begin(); iter != s.end(); ++iter)
        {
            *iter = static_cast<std::string::value_type>
            (
                std::toupper(static_cast<unsigned char>(*iter))
            );
        }
    }
    
    
    
    // ************************************************************************* //