std::collate_byname< _CharT > Class Template Reference

`#include <locale_classes.h>`

Inheritance diagram for std::collate_byname< _CharT >:
[legend]

## Public Types

typedef _CharT | char_type
typedef basic_string< _CharT > | string_type

## Public Member Functions

| collate_byname (const char *__s, size_t __refs=0)
| collate_byname (const string &__s, size_t __refs=0)
int | _M_compare (const _CharT *, const _CharT *) const throw ()
int | _M_compare (const char *, const char *) const throw()
int | _M_compare (const wchar_t *, const wchar_t *) const throw()
size_t | _M_transform (_CharT *, const _CharT *, size_t) const throw ()
size_t | _M_transform (char *, const char *, size_t) const throw()
size_t | _M_transform (wchar_t *, const wchar_t *, size_t) const throw()
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

## Static Protected Member Functions

static __c_locale | _S_clone_c_locale (__c_locale &__cloc) throw ()
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 () throw ()
static __c_locale | _S_lc_ctype_c_locale (__c_locale __cloc, const char *__s)

## Protected Attributes

__c_locale | _M_c_locale_collate

## Detailed Description

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

class collate_byname [22.2.4.2].

Definition at line 853 of file locale_classes.h.

## Member Typedef Documentation

## char_type

template<typename _CharT >

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

Public typedefs.

Definition at line 858 of file locale_classes.h.

## string_type

template<typename _CharT >

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

Public typedefs.

Definition at line 859 of file locale_classes.h.

## Constructor & Destructor Documentation

## collate_byname() [1/2]

template<typename _CharT >

std::collate_byname< _CharT >::collate_byname | ( | const char * | __s,
|  | size_t | __refs = `0`
| ) |  |

inline explicit

Definition at line 863 of file locale_classes.h.

## collate_byname() [2/2]

template<typename _CharT >

std::collate_byname< _CharT >::collate_byname | ( | const string & | __s,
|  | size_t | __refs = `0`
| ) |  |

inline explicit

Definition at line 876 of file locale_classes.h.

## ~collate_byname()

template<typename _CharT >

virtual std::collate_byname< _CharT >::~collate_byname | ( |  | ) |

inline protected virtual

Definition at line 882 of file locale_classes.h.

## Member Function Documentation

## _M_compare()

template<typename _CharT >

int std::collate< _CharT >::_M_compare | ( | const _CharT * | ,
|  | const _CharT * |
| ) |  | const
throw | ( |
| ) |  |

inherited

Definition at line 215 of file locale_classes.tcc.

## _M_transform()

template<typename _CharT >

size_t std::collate< _CharT >::_M_transform | ( | _CharT * | ,
|  | const _CharT * | ,
|  | size_t |
| ) |  | const
throw | ( |
| ) |  |

inherited

Definition at line 221 of file locale_classes.tcc.

## compare()

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 737 of file locale_classes.h.

## 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 226 of file locale_classes.tcc.

## do_hash()

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 321 of file locale_classes.tcc.

## do_transform()

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

  __lo | Start.
  __hi | End.

Returns
  transformed string.

Definition at line 265 of file locale_classes.tcc.

## hash()

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 770 of file locale_classes.h.

## transform()

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 756 of file locale_classes.h.

## Member Data Documentation

## _M_c_locale_collate

template<typename _CharT >

__c_locale std::collate< _CharT >::_M_c_locale_collate

protected inherited

Definition at line 692 of file locale_classes.h.

## id

template<typename _CharT >

locale::id std::collate< _CharT >::id

static inherited

Numpunct facet id.

Definition at line 696 of file locale_classes.h.

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

- locale_classes.h