STD::CHAR_TRAITS(3cxx)

🌸 NAME 🌸

okay bestie, this is the manual page for std::char_traits< _CharT >(3cxx) β€” manual name folded in near the top, no duplicated header line needed πŸ’–. The actual name is std::char_traits< _CharT >, and it is the Basis for explicit traits specializations. periodt.

✨ SYNOPSIS ✨

Start with this lil include, bestie:

#include <string>

Then the family-tree tea:

  • Inherits __gnu_cxx::char_traits< _CharT >.
  • Inherited by __gnu_cxx::encoding_char_traits< _CharT >.

🫢 Public Types 🫢

the whole type squad:

  • typedef _CharT char_type
  • using comparison_category = std::strong_ordering
  • 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 πŸ’…

the function lineup:

  • 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 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 char_type to_char_type (const int_type &__c)
  • static constexpr int_type to_int_type (const char_type &__c)

🌈 Detailed Description 🌈

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

Basis for explicit traits specializations.

Note, bestie: 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_string.

tiny detail for the detail girlies: the original has a stray quote gremlin right before β€œBasis” β€” struct std::char_traits< _CharT >"Basis for explicit traits specializations. β€” keeping it in the mix πŸ’€.

πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for libstdc++ from the source code. slay, Doxygen.


πŸ’– cute sign-off: source/version is libstdc++, page is std::char_traits< _CharT >(3cxx) β€” no date on this footer, just clean libstdc++ energy and a cute exit. πŸ’…

πŸ“¦ where this page comes from