libstdc++
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 822 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 827 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 828 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 
)
inlineexplicit

Definition at line 832 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 
)
inlineexplicit

Definition at line 845 of file locale_classes.h.

◆ ~collate_byname()

template<typename _CharT >
virtual std::collate_byname< _CharT >::~collate_byname ( )
inlineprotectedvirtual

Definition at line 851 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 149 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 155 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
inlineinherited

Compare two strings.

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

Parameters
__lo1Start of string 1.
__hi1End of string 1.
__lo2Start of string 2.
__hi2End of string 2.
Returns
1 if string1 > string2, -1 if string1 < string2, else 0.

Definition at line 706 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
protectedvirtualinherited

Compare two strings.

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

See also
compare().
Parameters
__lo1Start of string 1.
__hi1End of string 1.
__lo2Start of string 2.
__hi2End of string 2.
Returns
1 if string1 > string2, -1 if string1 < string2, else 0.

Definition at line 160 of file locale_classes.tcc.

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

◆ do_hash()

template<typename _CharT >
long std::collate< _CharT >::do_hash ( const _CharT *  __lo,
const _CharT *  __hi 
) const
protectedvirtualinherited

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
__loStart of string.
__hiEnd of string.
Returns
Hash value.

Definition at line 255 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
protectedvirtualinherited

Transform string to comparable form.

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

Parameters
__loStart.
__hiEnd.
Returns
transformed string.

Definition at line 199 of file locale_classes.tcc.

References 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().

◆ hash()

template<typename _CharT >
long std::collate< _CharT >::hash ( const _CharT *  __lo,
const _CharT *  __hi 
) const
inlineinherited

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
__loStart of string.
__hiEnd of string.
Returns
Hash value.

Definition at line 739 of file locale_classes.h.

◆ transform()

template<typename _CharT >
string_type std::collate< _CharT >::transform ( const _CharT *  __lo,
const _CharT *  __hi 
) const
inlineinherited

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
__loStart of string.
__hiEnd of string.
Returns
Transformed string_type.

Definition at line 725 of file locale_classes.h.

Member Data Documentation

◆ _M_c_locale_collate

template<typename _CharT >
__c_locale std::collate< _CharT >::_M_c_locale_collate
protectedinherited

Definition at line 661 of file locale_classes.h.

◆ id

template<typename _CharT >
locale::id std::collate< _CharT >::id
staticinherited

Numpunct facet id.

Definition at line 665 of file locale_classes.h.


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