24#ifndef MY_CHAR_TRAITS_INCLUDED
25#define MY_CHAR_TRAITS_INCLUDED
60 std::size_t
n)
noexcept {
62 return memcmp(s1, s2,
n);
65 return strlen(
static_cast<const char *
>(
static_cast<const void *
>(s)));
69 if (
n == 0)
return nullptr;
70 return static_cast<const char_type *
>(memchr(s, a,
n));
73 std::size_t
n)
noexcept {
74 if (
n == 0)
return s1;
75 return static_cast<char_type *
>(memmove(s1, s2,
n));
78 std::size_t
n)
noexcept {
79 if (
n == 0)
return s1;
80 return static_cast<char_type *
>(memcpy(s1, s2,
n));
84 return static_cast<char_type *
>(memset(s, a,
n));
88 return eq_int_type(c, eof()) ? ~eof() : c;
std::streampos pos_type
Definition: my_char_traits.h:45
static const char_type * find(const char_type *s, size_t n, const char_type &a) noexcept
Definition: my_char_traits.h:67
static constexpr int_type to_int_type(char_type c) noexcept
Definition: my_char_traits.h:93
static constexpr bool eq(char_type c1, char_type c2) noexcept
Definition: my_char_traits.h:52
static char_type * assign(char_type *s, std::size_t n, char_type a) noexcept
Definition: my_char_traits.h:82
static constexpr void assign(char_type &c1, const char_type &c2) noexcept
Definition: my_char_traits.h:49
static char_type * move(char_type *s1, const char_type *s2, std::size_t n) noexcept
Definition: my_char_traits.h:72
std::streamoff off_type
Definition: my_char_traits.h:44
std::strong_ordering comparison_category
Definition: my_char_traits.h:47
static size_t length(const char_type *s) noexcept
Definition: my_char_traits.h:64
static constexpr int_type not_eof(int_type c) noexcept
Definition: my_char_traits.h:87
static constexpr char_type to_char_type(int_type c) noexcept
Definition: my_char_traits.h:90
std::mbstate_t standards
Definition: my_char_traits.h:46
static char_type * copy(char_type *s1, const char_type *s2, std::size_t n) noexcept
Definition: my_char_traits.h:77
static constexpr int_type eof() noexcept
Definition: my_char_traits.h:97
static constexpr bool lt(char_type c1, char_type c2) noexcept
Definition: my_char_traits.h:55
unsigned char char_type
Definition: my_char_traits.h:42
unsigned int int_type
Definition: my_char_traits.h:43
static constexpr bool eq_int_type(int_type c1, int_type c2) noexcept
Definition: my_char_traits.h:94
static int compare(const char_type *s1, const char_type *s2, std::size_t n) noexcept
Definition: my_char_traits.h:59
Definition: my_char_traits.h:33
int n
Definition: xcom_base.cc:509