aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h')
-rw-r--r--gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h165
1 files changed, 0 insertions, 165 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h b/gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h
deleted file mode 100644
index 7ebc8b494..000000000
--- a/gcc-4.4.3/libstdc++-v3/config/os/generic/ctype_inline.h
+++ /dev/null
@@ -1,165 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003, 2009 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-// The following definitions are portable, but insanely slow. If one
-// cares at all about performance, then specialized ctype
-// functionality should be added for the native os in question: see
-// the config/os/bits/ctype_*.h files.
-
-// Constructing a synthetic "C" table should be seriously considered...
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- {
- if (_M_table)
- return _M_table[static_cast<unsigned char>(__c)] & __m;
- else
- {
- bool __ret = false;
- const size_t __bitmasksize = 15;
- size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
- for (; __bitcur <= __bitmasksize; ++__bitcur)
- {
- const mask __bit = static_cast<mask>(1 << __bitcur);
- if (__m & __bit)
- {
- bool __testis;
- switch (__bit)
- {
- case space:
- __testis = isspace(__c);
- break;
- case print:
- __testis = isprint(__c);
- break;
- case cntrl:
- __testis = iscntrl(__c);
- break;
- case upper:
- __testis = isupper(__c);
- break;
- case lower:
- __testis = islower(__c);
- break;
- case alpha:
- __testis = isalpha(__c);
- break;
- case digit:
- __testis = isdigit(__c);
- break;
- case punct:
- __testis = ispunct(__c);
- break;
- case xdigit:
- __testis = isxdigit(__c);
- break;
- case alnum:
- __testis = isalnum(__c);
- break;
- case graph:
- __testis = isgraph(__c);
- break;
- default:
- __testis = false;
- break;
- }
- __ret |= __testis;
- }
- }
- return __ret;
- }
- }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- if (_M_table)
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- else
- {
- // Highest bitmask in ctype_base == 10.
- const size_t __bitmasksize = 15;
- for (;__low < __high; ++__vec, ++__low)
- {
- mask __m = 0;
- // Lowest bitmask in ctype_base == 0
- size_t __i = 0;
- for (;__i <= __bitmasksize; ++__i)
- {
- const mask __bit = static_cast<mask>(1 << __i);
- if (this->is(__bit, *__low))
- __m |= __bit;
- }
- *__vec = __m;
- }
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- else
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- else
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE