[category.messages] (original) (raw)

28 Text processing library [text]

28.3 Localization library [localization]

28.3.4 Standard locale categories [locale.categories]

28.3.4.8 The message retrieval category [category.messages]


28.3.4.8.1 General [category.messages.general]

28.3.4.8.2 Class template messages [locale.messages]

28.3.4.8.2.1 General [locale.messages.general]

28.3.4.8.2.2 Members [locale.messages.members]

28.3.4.8.2.3 Virtual functions [locale.messages.virtuals]

28.3.4.8.3 Class template messages_byname [locale.messages.byname]


28.3.4.8.1 General [category.messages.general]

Class messages<charT>implements retrieval of strings from message catalogs.

28.3.4.8.2 Class template messages [locale.messages]

28.3.4.8.2.1 General [locale.messages.general]

namespace std { class messages_base { public: using catalog = unspecified signed integer type;};template<class charT> class messages : public locale::facet, public messages_base { public: using char_type = charT;using string_type = basic_string<charT>;explicit messages(size_t refs = 0); catalog open(const string& fn, const locale&) const; string_type get(catalog c, int set, int msgid,const string_type& dfault) const;void close(catalog c) const;static locale::id id;protected: ~messages();virtual catalog do_open(const string&, const locale&) const;virtual string_type do_get(catalog, int set, int msgid,const string_type& dfault) const;virtual void do_close(catalog) const;};}

Values of type messages_base​::​catalogusable as arguments to members get and closecan be obtained only by calling member open.

28.3.4.8.2.2 Members [locale.messages.members]

catalog open(const string& name, const locale& loc) const;

Returns: do_open(name, loc).

string_type get(catalog cat, int set, int msgid, const string_type& dfault) const;

Returns: do_get(cat, set, msgid, dfault).

void close(catalog cat) const;

Effects: Calls do_close(cat).

28.3.4.8.2.3 Virtual functions [locale.messages.virtuals]

catalog do_open(const string& name, const locale& loc) const;

Returns: A value that may be passed to get()to retrieve a message from the message catalog identified by the string nameaccording to an implementation-defined mapping.

The result can be used until it is passed to close().

Returns a value less than 0 if no such catalog can be opened.

Remarks: The locale argument loc is used for character set code conversion when retrieving messages, if needed.

string_type do_get(catalog cat, int set, int msgid, const string_type& dfault) const;

Preconditions: cat is a catalog obtained from open() and not yet closed.

Returns: A message identified by arguments set, msgid, and dfault, according to an implementation-defined mapping.

If no such message can be found, returns dfault.

void do_close(catalog cat) const;

Preconditions: cat is a catalog obtained from open() and not yet closed.

Effects: Releases unspecified resources associated with cat.

Remarks: The limit on such resources, if any, isimplementation-defined.

28.3.4.8.3 Class template messages_byname [locale.messages.byname]

namespace std { template<class charT> class messages_byname : public messages<charT> { public: using catalog = messages_base::catalog;using string_type = basic_string<charT>;explicit messages_byname(const char*, size_t refs = 0);explicit messages_byname(const string&, size_t refs = 0);protected: ~messages_byname();};}