diff options
Diffstat (limited to 'libstdc++-v3/include/bits/char_traits.h')
-rw-r--r-- | libstdc++-v3/include/bits/char_traits.h | 62 |
1 files changed, 17 insertions, 45 deletions
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h index 7d14838ab26..41f943d9a59 100644 --- a/libstdc++-v3/include/bits/char_traits.h +++ b/libstdc++-v3/include/bits/char_traits.h @@ -1,6 +1,7 @@ // Character Traits for use by standard string and iostream -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -53,82 +54,53 @@ namespace std struct char_traits { typedef _CharT char_type; - // Unsigned as wint_t in unsigned. + // Unsigned as wint_t is unsigned. typedef unsigned long int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void - assign(char_type& __c1, const char_type& __c2) - { __c1 = __c2; } + assign(char_type& __c1, const char_type& __c2); static bool - eq(const char_type& __c1, const char_type& __c2) - { return __c1 == __c2; } + eq(const char_type& __c1, const char_type& __c2); static bool - lt(const char_type& __c1, const char_type& __c2) - { return __c1 < __c2; } + lt(const char_type& __c1, const char_type& __c2); static int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - for (size_t __i = 0; __i < __n; ++__i) - if (!eq(__s1[__i], __s2[__i])) - return lt(__s1[__i], __s2[__i]) ? -1 : 1; - return 0; - } + compare(const char_type* __s1, const char_type* __s2, size_t __n); static size_t - length(const char_type* __s) - { - const char_type* __p = __s; - while (*__p) ++__p; - return (__p - __s); - } + length(const char_type* __s); static const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p) - if (*__p == __a) return __p; - return 0; - } + find(const char_type* __s, size_t __n, const char_type& __a); static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); } + move(char_type* __s1, const char_type* __s2, size_t __n); static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); } + copy(char_type* __s1, const char_type* __s2, size_t __n); static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - for (char_type* __p = __s; __p < __s + __n; ++__p) - assign(*__p, __a); - return __s; - } + assign(char_type* __s, size_t __n, char_type __a); static char_type - to_char_type(const int_type& __c) - { return char_type(__c); } + to_char_type(const int_type& __c); static int_type - to_int_type(const char_type& __c) { return int_type(__c); } + to_int_type(const char_type& __c); static bool - eq_int_type(const int_type& __c1, const int_type& __c2) - { return __c1 == __c2; } + eq_int_type(const int_type& __c1, const int_type& __c2); static int_type - eof() { return static_cast<int_type>(-1); } + eof(); static int_type - not_eof(const int_type& __c) - { return eq_int_type(__c, eof()) ? int_type(0) : __c; } + not_eof(const int_type& __c); }; |