32#ifndef _POD_CHAR_TRAITS_H 
   33#define _POD_CHAR_TRAITS_H 1 
   35#pragma GCC system_header 
   39namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
 
   41_GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   48  template<
typename _Value, 
typename _Int, 
typename _St = std::mbstate_t>
 
   51      typedef _Value                            value_type;
 
   52      typedef _Int                              int_type;
 
   53      typedef _St                               state_type;
 
   62          char_type ret = { 
static_cast<value_type
>(v) };
 
   70          V2 ret = { 
static_cast<V2
>(c.value) };
 
   76  template<
typename _Value, 
typename _Int, 
typename _St>
 
   80    { 
return lhs.value == rhs.value; }
 
   82  template<
typename _Value, 
typename _Int, 
typename _St>
 
   84    operator<(
const character<_Value, _Int, _St>& lhs,
 
   85              const character<_Value, _Int, _St>& rhs)
 
   86    { 
return lhs.value < rhs.value; }
 
   88_GLIBCXX_END_NAMESPACE_VERSION
 
   91namespace std _GLIBCXX_VISIBILITY(default)
 
   93_GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   96  template<
typename _Value, 
typename _Int, 
typename _St>
 
  100      typedef typename char_type::int_type              int_type;
 
  101      typedef typename char_type::state_type            state_type;
 
  111      { 
return __c1 == __c2; }
 
  115      { 
return __c1 < __c2; }
 
  120        for (
size_t __i = 0; __i < __n; ++__i)
 
  121          if (!eq(__s1[__i], __s2[__i]))
 
  122            return lt(__s1[__i], __s2[__i]) ? -1 : 1;
 
  138        for (
const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
 
  150          (__builtin_memmove(__s1, __s2, __n * 
sizeof(
char_type)));
 
  158        std::copy(__s2, __s2 + __n, __s1);
 
  165        std::fill_n(__s, __n, __a);
 
  170      to_char_type(
const int_type& __i)
 
  171      { 
return char_type::template from(__i); }
 
  175      { 
return char_type::template to<int_type>(__c); }
 
  178      eq_int_type(
const int_type& __c1, 
const int_type& __c2)
 
  179      { 
return __c1 == __c2; }
 
  184        int_type __r = { 
static_cast<typename __gnu_cxx::__conditional_type
 
  185                         <std::__is_integer<int_type>::__value,
 
  186                         int_type, 
int>::__type>(-1) };
 
  191      not_eof(
const int_type& __c)
 
  192      { 
return eq_int_type(__c, eof()) ? int_type() : __c; }
 
  195_GLIBCXX_END_NAMESPACE_VERSION
 
ISO C++ entities toplevel namespace is std.
long long streamoff
Type used by fpos, char_traits<char>, and char_traits<wchar_t>.
GNU extensions for public use.
Basis for explicit traits specializations.
Class representing stream positions.
A POD class that serves as a character abstraction class.