libstdc++
std::char_traits< _CharT > Struct Template Reference

#include <char_traits.h>

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

Public Types

typedef _CharT char_type
 
typedef _Char_types< _CharT >::int_type int_type
 
typedef _Char_types< _CharT >::off_type off_type
 
typedef _Char_types< _CharT >::pos_type pos_type
 
typedef _Char_types< _CharT >::state_type state_type
 

Static Public Member Functions

static constexpr void assign (char_type &__c1, const char_type &__c2)
 
static constexpr char_type * assign (char_type *__s, std::size_t __n, char_type __a)
 
static constexpr int compare (const char_type *__s1, const char_type *__s2, std::size_t __n)
 
static constexpr char_type * copy (char_type *__s1, const char_type *__s2, std::size_t __n)
 
static constexpr int_type eof ()
 
static constexpr bool eq (const char_type &__c1, const char_type &__c2)
 
static constexpr bool eq_int_type (const int_type &__c1, const int_type &__c2)
 
static constexpr const char_type * find (const char_type *__s, std::size_t __n, const char_type &__a)
 
static constexpr std::size_t length (const char_type *__s)
 
static constexpr bool lt (const char_type &__c1, const char_type &__c2)
 
static constexpr char_type * move (char_type *__s1, const char_type *__s2, std::size_t __n)
 
static constexpr int_type not_eof (const int_type &__c)
 
static constexpr char_type to_char_type (const int_type &__c)
 
static constexpr int_type to_int_type (const char_type &__c)
 

Detailed Description

template<class _CharT>
struct std::char_traits< _CharT >

Basis for explicit traits specializations.

Note
For any given actual character type, this definition is probably wrong. Since this is just a thin wrapper around __gnu_cxx::char_traits, it is possible to achieve a more appropriate definition by specializing __gnu_cxx::char_traits.

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/strings.html#strings.string.character_types for advice on how to make use of this class for unusual character types. Also, check out include/ext/pod_char_traits.h.

Definition at line 338 of file char_traits.h.

Member Typedef Documentation

◆ char_type

template<typename _CharT >
typedef _CharT __gnu_cxx::char_traits< _CharT >::char_type
inherited

Definition at line 92 of file char_traits.h.

◆ int_type

template<typename _CharT >
typedef _Char_types<_CharT>::int_type __gnu_cxx::char_traits< _CharT >::int_type
inherited

Definition at line 93 of file char_traits.h.

◆ off_type

template<typename _CharT >
typedef _Char_types<_CharT>::off_type __gnu_cxx::char_traits< _CharT >::off_type
inherited

Definition at line 95 of file char_traits.h.

◆ pos_type

template<typename _CharT >
typedef _Char_types<_CharT>::pos_type __gnu_cxx::char_traits< _CharT >::pos_type
inherited

Definition at line 94 of file char_traits.h.

◆ state_type

template<typename _CharT >
typedef _Char_types<_CharT>::state_type __gnu_cxx::char_traits< _CharT >::state_type
inherited

Definition at line 96 of file char_traits.h.

Member Function Documentation

◆ assign() [1/2]

template<typename _CharT >
static constexpr void __gnu_cxx::char_traits< _CharT >::assign ( char_type &  __c1,
const char_type &  __c2 
)
inlinestaticconstexprinherited

Definition at line 102 of file char_traits.h.

◆ assign() [2/2]

template<typename _CharT >
constexpr char_traits< _CharT >::char_type * __gnu_cxx::char_traits< _CharT >::assign ( char_type *  __s,
std::size_t  __n,
char_type  __a 
)
staticconstexprinherited

Definition at line 251 of file char_traits.h.

◆ compare()

template<typename _CharT >
constexpr int __gnu_cxx::char_traits< _CharT >::compare ( const char_type *  __s1,
const char_type *  __s2,
std::size_t  __n 
)
staticconstexprinherited

Definition at line 154 of file char_traits.h.

◆ copy()

template<typename _CharT >
constexpr char_traits< _CharT >::char_type * __gnu_cxx::char_traits< _CharT >::copy ( char_type *  __s1,
const char_type *  __s2,
std::size_t  __n 
)
staticconstexprinherited

Definition at line 240 of file char_traits.h.

◆ eof()

template<typename _CharT >
static constexpr int_type __gnu_cxx::char_traits< _CharT >::eof ( )
inlinestaticconstexprinherited

Definition at line 144 of file char_traits.h.

◆ eq()

template<typename _CharT >
static constexpr bool __gnu_cxx::char_traits< _CharT >::eq ( const char_type &  __c1,
const char_type &  __c2 
)
inlinestaticconstexprinherited

Definition at line 106 of file char_traits.h.

◆ eq_int_type()

template<typename _CharT >
static constexpr bool __gnu_cxx::char_traits< _CharT >::eq_int_type ( const int_type &  __c1,
const int_type &  __c2 
)
inlinestaticconstexprinherited

Definition at line 140 of file char_traits.h.

◆ find()

template<typename _CharT >
constexpr const char_traits< _CharT >::char_type * __gnu_cxx::char_traits< _CharT >::find ( const char_type *  __s,
std::size_t  __n,
const char_type &  __a 
)
staticconstexprinherited

Definition at line 178 of file char_traits.h.

◆ length()

template<typename _CharT >
constexpr std::size_t __gnu_cxx::char_traits< _CharT >::length ( const char_type *  __s)
staticconstexprinherited

Definition at line 167 of file char_traits.h.

◆ lt()

template<typename _CharT >
static constexpr bool __gnu_cxx::char_traits< _CharT >::lt ( const char_type &  __c1,
const char_type &  __c2 
)
inlinestaticconstexprinherited

Definition at line 110 of file char_traits.h.

◆ move()

template<typename _CharT >
constexpr char_traits< _CharT >::char_type * __gnu_cxx::char_traits< _CharT >::move ( char_type *  __s1,
const char_type *  __s2,
std::size_t  __n 
)
staticconstexprinherited

Definition at line 190 of file char_traits.h.

◆ not_eof()

template<typename _CharT >
static constexpr int_type __gnu_cxx::char_traits< _CharT >::not_eof ( const int_type &  __c)
inlinestaticconstexprinherited

Definition at line 148 of file char_traits.h.

◆ to_char_type()

template<typename _CharT >
static constexpr char_type __gnu_cxx::char_traits< _CharT >::to_char_type ( const int_type &  __c)
inlinestaticconstexprinherited

Definition at line 132 of file char_traits.h.

◆ to_int_type()

template<typename _CharT >
static constexpr int_type __gnu_cxx::char_traits< _CharT >::to_int_type ( const char_type &  __c)
inlinestaticconstexprinherited

Definition at line 136 of file char_traits.h.


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