<locale>

<locale>

codecvt · codecvt_base · codecvt_byname · collate · collate_byname · ctype · ctype<char> · ctype_base · ctype_byname · has_facet · locale · messages · messages_base · messages_byname · money_base · money_get · money_put · moneypunct · moneypunct_byname · num_get · num_put · numpunct · numpunct_byname · time_base · time_get · time_get_byname · time_put · time_put_byname · use_facet

isalnum · isalpha · iscntrl · isdigit · isgraph · islower · isprint · ispunct · isspace · isupper · isxdigit · tolower · toupper

namespace std {
    class locale;
    class ctype_base;
    template<class E>
        class ctype;
    class ctype<char>;
    template<class E>
        class ctype_byname;
    class codecvt_base;
    template<class From, class To, class State>
        class codecvt;
    template<class From, class To, class State>
        class codecvt_byname;
    template<class E, class InIt>
        class num_get;
    template<class E, class OutIt>
        class num_put;
    template<class E>
        class numpunct;
    template<class E>
        class numpunct_byname;
    template<class E>
        class collate;
    template<class E>
        class collate_byname;
    class time_base;
    template<class E, class InIt>
        class time_get;
    template<class E, class InIt>
        class time_get_byname;
    template<class E, class OutIt>
        class time_put;
    template<class E, class OutIt>
        class time_put_byname;
    class money_base;
    template<class E, bool Intl, class InIt>
        class money_get;
    template<class E, bool Intl, class OutIt>
        class money_put;
    template<class E, bool Intl>
        class moneypunct;
    template<class E, bool Intl>
        class moneypunct_byname;
    class messages_base;
    template<class E>
        class messages;
    template<class E>
        class messages_byname;
//    TEMPLATE FUNCTIONS
    template<class Facet>
        bool has_facet(const locale& loc, const Facet *fac);
    template<class Facet>
        const Facet& use_facet(const locale& loc,
            const Facet *fac, bool is_std);
    template<class E>
        bool isspace(E c, const locale& loc) const;
    template<class E>
        bool isprint(E c, const locale& loc) const;
    template<class E>
        bool iscntrl(E c, const locale& loc) const;
    template<class E>
        bool isupper(E c, const locale& loc) const;
    template<class E>
        bool islower(E c, const locale& loc) const;
    template<class E>
        bool isalpha(E c, const locale& loc) const;
    template<class E>
        bool isdigit(E c, const locale& loc) const;
    template<class E>
        bool ispunct(E c, const locale& loc) const;
    template<class E>
        bool isxdigit(E c, const locale& loc) const;
    template<class E>
        bool isalnum(E c, const locale& loc) const;
    template<class E>
        bool isgraph(E c, const locale& loc) const;
    template<class E>
        E toupper(E c, const locale& loc) const;
    template<class E>
        E tolower(E c, const locale& loc) const;
    };

Include the standard header <locale> to define a host of template classes and functions that encapsulate and manipulate locales.