aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/bits/char_traits.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/bits/char_traits.h')
-rw-r--r--libstdc++-v3/include/bits/char_traits.h62
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);
};