std::collate_byname< CharT > Class Template Reference

Inheritance diagram for std::collate_byname< CharT >:

Inheritance graph
[legend]
Collaboration diagram for std::collate_byname< CharT >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CharT char_type
 Public typedefs.
typedef basic_string< CharT > string_type
 Public typedefs.

Public Member Functions

 collate_byname (const char *s, size_t __refs=0)
int compare (const CharT *__lo1, const CharT *__hi1, const CharT *__lo2, const CharT *__hi2) const
 Compare two strings.
string_type transform (const CharT *__lo, const CharT *__hi) const
 Transform string to comparable form.
long hash (const CharT *__lo, const CharT *__hi) const
 Return hash of a string.
int M_compare (const CharT *, const CharT *) const
size_t M_transform (CharT *, const CharT *, size_t) const

Static Public Attributes

static locale::id id
 Numpunct facet id.

Protected Member Functions

virtual ~collate_byname ()
virtual int do_compare (const CharT *__lo1, const CharT *__hi1, const CharT *__lo2, const CharT *__hi2) const
 Compare two strings.
virtual string_type do_transform (const CharT *__lo, const CharT *__hi) const
 Transform string to comparable form.
virtual long do_hash (const CharT *__lo, const CharT *__hi) const
 Return hash of a string.

Static Protected Member Functions

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

Detailed Description

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

Definition at line 2640 of file locale_facets.h.


Member Typedef Documentation

template<typename CharT>
typedef CharT std::collate_byname< CharT >::char_type

Public typedefs.

Reimplemented from std::collate< CharT >.

Definition at line 2645 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 2646 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 2523 of file locale_facets.h.

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

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 2542 of file locale_facets.h.

References std::collate< CharT >::do_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 2556 of file locale_facets.h.

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

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 2285 of file locale_facets.tcc.

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

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 2324 of file locale_facets.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().

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

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 2368 of file locale_facets.tcc.

References __gnu_cxx::__val.

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


Member Data Documentation

template<typename CharT>
locale::id std::collate< CharT >::id [static, inherited]

Numpunct facet id.

Definition at line 2482 of file locale_facets.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 1 22:32:29 2007 for libstdc++-v3 Source by  doxygen 1.5.1