home | help
std::messages_byname(3)        C++ Standard Libary	 std::messages_byname(3)

NAME
     std::messages_byname - std::messages_byname

Synopsis
	Defined in header <locale>
	template< class CharT >
	class messages_byname : public std::messages<CharT>;

	std::messages_byname  is  a  std::messages  facet which encapsulates re-
     trieval of
	strings from message catalogs of the locale specified at  its  construc-
     tion.

Specializations
	The  standard library is guaranteed to provide the following specializa-
     tions:

	Defined in header <locale>
	std::messages_byname<char>    narrow/multibyte message catalog access
	std::messages_byname<wchar_t> wide string message catalog access

Member types
	Member type Definition
	catalog     std::messages_base<CharT>::catalog
	string_type std::basic_string<CharT>

Member functions
	constructor   constructs a new messages_byname facet
		      (public member function)
	destructor    destroys a messages_byname facet
		      (protected member function)

     std::messages_byname::messages_byname

	explicit messages_byname( const char* name, std::size_t refs = 0 );
	explicit messages_byname( const std::string& name,  std::size_t  refs  =
     (since C++11)
	0 );

	Constructs a new std::messages_byname facet for a locale with name.

	refs  is  used for resource management: if refs == 0, the implementation
     destroys the
	facet, when the last std::locale object holding it is destroyed.  Other-
     wise, the
	object is not destroyed.

Parameters
	name - the name of the locale
	refs - the number of references that link to the facet

     std::messages_byname::~messages_byname

	protected:
	~messages_byname();

	Destroys the facet.

     Inherited from std::messages

Member types
	Member type Definition
	char_type   CharT
	string_type std::basic_string<CharT>

Member objects
	Member name Type
	id (static) std::locale::id

Member functions
	open  invokes do_open
	      (public member function of std::messages<CharT>)
	get   invokes do_get
	      (public member function of std::messages<CharT>)
	close invokes do_close
	      (public member function of std::messages<CharT>)

Protected member functions
	do_open   opens a named message catalog
	[virtual] (virtual protected member function of std::messages<CharT>)
	do_get	  retrieves a message from an open message catalog
	[virtual] (virtual protected member function of std::messages<CharT>)
	do_close  closes a message catalog
	[virtual] (virtual protected member function of std::messages<CharT>)

Example
     // Run this code

      #include <iostream>
      #include <locale>

      void try_with(const std::locale& loc)
      {
	  const    std::messages<char>&    facet    =	std::use_facet<std::mes-
     sages<char>>(loc);

	  std::messages<char>::catalog cat  =  facet.open("sed",  std::cout.get-
     loc());
	  if (cat < 0)
	      std::cout << "Could not open \"sed\" message catalog\n";
	  else
	      std::cout << "\"No match\" "
			<< facet.get(cat, 0, 0, "No match") << '\n'
			<< "\"Memory exhausted\" "
			<< facet.get(cat, 0, 0, "Memory exhausted") << '\n';

	  facet.close(cat);
      }

      int main()
      {
	  std::locale loc("en_US.utf8");
	  std::cout.imbue(loc);

	  try_with(std::locale(loc,		new	       std::messages_by-
     name<char>("de_DE.utf8")));
	  try_with(std::locale(loc,	       new	       std::messages_by-
     name<char>("fr_FR.utf8")));
	  try_with(std::locale(loc,		new	       std::messages_by-
     name<char>("ja_JP.utf8")));
      }

Possible output:
      "No match" Keine Abereinstimmung
      "Memory exhausted" Speicher erschA<paragraph>pft
      "No match" Pas de concordance
      "Memory exhausted" MA(C)moire A(C)puisA(C)e
      "No match" c<section>aaa3/4aa
      "Memory exhausted" a!acaaa1/4ae<paragraph>^3aa3/4aa

See also
	messages implements retrieval of strings from message catalogs
		 (class template)

http://cppreference.com 	   2024.06.10		 std::messages_byname(3)

home | help