std::collate_byname (3) - Linux Manuals

std::collate_byname: std::collate_byname

NAME

std::collate_byname - std::collate_byname

Synopsis


Defined in header <locale>
template< class CharT >
class collate_byname : public std::collate<CharT>;


std::collate_byname is a std::collate facet which encapsulates locale-specific collation (comparison) and hashing of strings. Just like std::collate, it can be imbued in std::regex and applied, by means of std::locale::operator(), directly to all standard algorithms that expect a string comparison predicate.
Two specializations are provided by the standard library


Defined in header <locale>
std::collate_byname<char> locale-specific collation of multibyte strings
std::collate_byname<wchar_t> locale-specific collation of wide strings

Member functions


              constructs a new collate_byname facet
constructor (public member function)
              destroys a collate_byname facet
destructor (protected member function)


 std::collate_byname::collate_byname


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


Constructs a new std::collate_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. Otherwise, the object is not destroyed.

Parameters


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


 std::collate_byname::~collate_byname


protected:
~collate_byname();


Destroys the facet.


Inherited from std::collate

Member types


Member type Definition
char_type charT
string_type std::basic_string<charT>

Member functions


          invokes do_compare
compare (public member function of std::collate<CharT>)
          invokes do_transform
transform (public member function of std::collate<CharT>)
          invokes do_hash
hash (public member function of std::collate<CharT>)

Protected member functions


do_compare compares two strings using this facet's collation rules
             (virtual protected member function of std::collate<CharT>)
[virtual]


do_transform transforms a string so that collation can be replaced by comparison
             (virtual protected member function of std::collate<CharT>)
[virtual]


do_hash generates an integer hash value using this facet's collation rules
             (virtual protected member function of std::collate<CharT>)
[virtual]

Notes


Collation order is the dictionary order: the position of the letter in the national alphabet (its equivalence class) has higher priority than its case or variant. Within an equivalence class, lowercase characters collate before their uppercase equivalents and locale-specific order may apply to the characters with diacritics. In some locales, groups of characters compare as single collation units. For example, "ch" in Czech follows "h" and precedes "i", and "dzs" in Hungarian follows "dz" and precedes "g".

Example


 This section is incomplete
 Reason: no example

See also


           defines lexicographical comparison and hashing of strings
collate (class template)
           compares two strings in accordance to the current locale
strcoll (function)
           compares two wide strings in accordance to the current locale
wcscoll (function)
           lexicographically compares two strings using this locale's collate facet
operator() (public member function of std::locale)