messages

template<class E>
    class messages : public locale::facet, public messages_base {
public:
    typedef E char_type;
    typedef basic_string<E> string_type;
    explicit messages(size_t refs = 0);
    catalog open(const string& name,
        const locale& loc) const;
    string_type get(catalog cat, int set, int msg,
        const string_type& dflt) const;
    void close(catalog cat) const;
    static locale::id id;
protected:
    ~messages();
    virtual catalog do_open(const string& name,
        const locale& loc) const;
    virtual string_type do_get(catalog cat, int set, int msg,
        const string_type& dflt) const;
    virtual void do_close(catalog cat) const;
    };

The template class describes an object that can serve as a locale facet, to characterize various properties of a message catalog that can supply messages represented as sequences of elements of type E.

As with any locale facet, the static object id has an initial stored value of zero. The first attempt to access its stored value stores a unique positive value in id.