# std::collate_byname< _CharT > Class Template Reference

Inheritance diagram for std::collate_byname< _CharT >:

List of all members.

## Detailed Description

### template<typename _CharT>
class std::collate_byname< _CharT >

Definition at line 2713 of file locale_facets.h.

## Public Types

- typedef _CharT char_type
- typedef basic_string< _CharT > string_type

## Public Member Functions

- template<> int _M_compare (const wchar_t *, const wchar_t *) const
- template<> int _M_compare (const char *, const char *) const
- int _M_compare (const _CharT *, const _CharT *) const
- template<> size_t _M_transform (wchar_t *, const wchar_t *, size_t) const
- template<> size_t _M_transform (char *, const char *, size_t) const
- size_t _M_transform (_CharT *, const _CharT *, size_t) const
- collate_byname (const char *__s, size_t __refs=0)
- int compare (const _CharT *__lo1, const _CharT *__hi1, const _CharT *__lo2, const _CharT *__hi2) const
- long hash (const _CharT *__lo, const _CharT *__hi) const
- string_type transform (const _CharT *__lo, const _CharT *__hi) const

## Static Public Attributes

- static locale::id id

## Protected Member Functions

- virtual int do_compare (const _CharT *__lo1, const _CharT *__hi1, const _CharT *__lo2, const _CharT *__hi2) const
- virtual long do_hash (const _CharT *__lo, const _CharT *__hi) const
- virtual string_type do_transform (const _CharT *__lo, const _CharT *__hi) const
- virtual ~collate_byname ()

## Static Protected Member Functions

- static __c_locale _S_clone_c_locale (__c_locale &__cloc)
- static void _S_create_c_locale (__c_locale &__cloc, const char *__s, __c_locale __old=0)
- static void _S_destroy_c_locale (__c_locale &__cloc)
- static __c_locale _S_get_c_locale ()
- static const char * _S_get_c_name ()

## Protected Attributes

- __c_locale _M_c_locale_collate

## Friends

- class locale::_Impl

## Member Typedef Documentation

template<typename _CharT>

typedef _CharT std::collate_byname< _CharT >::char_type

Public typedefs.

Reimplemented from std::collate< _CharT >.

Definition at line 2718 of file locale_facets.h.

template<typename _CharT>

typedef basic_string<_CharT> std::collate_byname< _CharT >::string_type

Public typedefs.

Reimplemented from std::collate< _CharT >.

Definition at line 2719 of file locale_facets.h.

## Member Function Documentation

template<typename _CharT>

int std::collate< _CharT >::compare | ( | const _CharT * | __lo1,
|  | const _CharT * | __hi1,
|  | const _CharT * | __lo2,
|  | const _CharT * | __hi2 |
| ) |  |  | const`[inline, inherited]`

Compare two strings.

This function compares two strings and returns the result by calling collate::do_compare().

Parameters:

  | lo1 | Start of string 1.
  | hi1 | End of string 1.
  | lo2 | Start of string 2.
  | hi2 | End of string 2.

Returns:
  1 if string1 > string2, -1 if string1 < string2, else 0.

Definition at line 2595 of file locale_facets.h.

References std::collate< _CharT >::do_compare().

template<typename _CharT>

int std::collate< _CharT >::do_compare | ( | const _CharT * | __lo1,
|  | const _CharT * | __hi1,
|  | const _CharT * | __lo2,
|  | const _CharT * | __hi2 |
| ) |  |  | const`[protected, virtual, inherited]`

Compare two strings.

This function is a hook for derived classes to change the value returned.

See also:
  compare().

Parameters:

  | lo1 | Start of string 1.
  | hi1 | End of string 1.
  | lo2 | Start of string 2.
  | hi2 | End of string 2.

Returns:
  1 if string1 > string2, -1 if string1 < string2, else 0.

Definition at line 2388 of file locale_facets.tcc.

References std::collate< _CharT >::_M_compare().

Referenced by std::collate< _CharT >::compare().

template<typename _CharT>

long std::collate< _CharT >::do_hash | ( | const _CharT * | __lo,
|  | const _CharT * | __hi |
| ) |  |  | const`[protected, virtual, inherited]`

Return hash of a string.

This function computes and returns a hash on the input string. This function is a hook for derived classes to change the value returned.

Parameters:

  | lo | Start of string.
  | hi | End of string.

Returns:
  Hash value.

Definition at line 2483 of file locale_facets.tcc.

Referenced by std::collate< _CharT >::hash().

template<typename _CharT>

collate< _CharT >::string_type std::collate< _CharT >::do_transform | ( | const _CharT * | __lo,
|  | const _CharT * | __hi |
| ) |  |  | const`[protected, virtual, inherited]`

Transform string to comparable form.

This function is a hook for derived classes to change the value returned.

Parameters:

  | lo1 | Start of string 1.
  | hi1 | End of string 1.
  | lo2 | Start of string 2.
  | hi2 | End of string 2.

Returns:
  1 if string1 > string2, -1 if string1 < string2, else 0.

Definition at line 2427 of file locale_facets.tcc.

References std::collate< _CharT >::_M_transform(), std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits, _Alloc >::c_str(), std::basic_string< _CharT, _Traits, _Alloc >::data(), std::basic_string< _CharT, _Traits, _Alloc >::length(), and std::basic_string< _CharT, _Traits, _Alloc >::push_back().

Referenced by std::collate< _CharT >::transform().

template<typename _CharT>

long std::collate< _CharT >::hash | ( | const _CharT * | __lo,
|  | const _CharT * | __hi |
| ) |  |  | const`[inline, inherited]`

Return hash of a string.

This function computes and returns a hash on the input string. It does so by returning collate::do_hash().

Parameters:

  | lo | Start of string.
  | hi | End of string.

Returns:
  Hash value.

Definition at line 2628 of file locale_facets.h.

References std::collate< _CharT >::do_hash().

template<typename _CharT>

string_type std::collate< _CharT >::transform | ( | const _CharT * | __lo,
|  | const _CharT * | __hi |
| ) |  |  | const`[inline, inherited]`

Transform string to comparable form.

This function is a wrapper for strxfrm functionality. It takes the input string and returns a modified string that can be directly compared to other transformed strings. In the "C" locale, this function just returns a copy of the input string. In some other locales, it may replace two chars with one, change a char for another, etc. It does so by returning collate::do_transform().

Parameters:

  | lo | Start of string.
  | hi | End of string.

Returns:
  Transformed string_type.

Definition at line 2614 of file locale_facets.h.

References std::collate< _CharT >::do_transform().

## Member Data Documentation

template<typename _CharT>

locale::id std::collate< _CharT >::id`[static, inherited]`

Numpunct facet id.

Definition at line 2554 of file locale_facets.h.

The documentation for this class was generated from the following file:

- locale_facets.h