Commit 0c3a231d by Benjamin Kosnik Committed by Benjamin Kosnik

locale_facets.h (ctype<char>): Remove throw specs not in base class signature.


2000-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
	base class signature.
	* config/os/*/bits/ctype_inline.h (is): Same.

From-SVN: r38250
parent 65b66e1f
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in * include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
base class signature. base class signature.
* config/os/*/bits/ctype_inline.h (is): Same.
2000-12-13 Benjamin Kosnik <bkoz@redhat.com> 2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* config/os/generic/bits/ctype_base.h (ctype_base): Consistency * config/os/generic/bits/ctype_base.h (ctype_base): Consistency
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return __OBJ_DATA(__lc_ctype)->mask[__c] & __m; } { return __OBJ_DATA(__lc_ctype)->mask[__c] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !this->is(__m, *__low)) while (__low < __high && !this->is(__m, *__low))
++__low; ++__low;
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && this->is(__m, *__low) != 0) while (__low < __high && this->is(__m, *__low) != 0)
++__low; ++__low;
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ {
if (__m & (digit | xdigit)) if (__m & (digit | xdigit))
return __isctype(__c, __m); return __isctype(__c, __m);
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !this->is(__m, *__low)) while (__low < __high && !this->is(__m, *__low))
++__low; ++__low;
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && this->is(__m, *__low) != 0) while (__low < __high && this->is(__m, *__low) != 0)
++__low; ++__low;
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return _M_table[(unsigned char)(__c)] & __m; } { return _M_table[(unsigned char)(__c)] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !this->is(__m, *__low)) while (__low < __high && !this->is(__m, *__low))
++__low; ++__low;
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && this->is(__m, *__low) != 0) while (__low < __high && this->is(__m, *__low) != 0)
++__low; ++__low;
...@@ -77,3 +77,4 @@ ...@@ -77,3 +77,4 @@
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ {
bool __ret; bool __ret;
switch (__m) switch (__m)
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10 const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !this->is(__m, *__low)) while (__low < __high && !this->is(__m, *__low))
++__low; ++__low;
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && this->is(__m, *__low) != 0) while (__low < __high && this->is(__m, *__low) != 0)
++__low; ++__low;
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return _M_table[__c] & __m; } { return _M_table[__c] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !(_M_table[*__low] & __m)) while (__low < __high && !(_M_table[*__low] & __m))
++__low; ++__low;
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high while (__low < __high
&& (_M_table[*__low] & __m) != 0) && (_M_table[*__low] & __m) != 0)
......
// Locale support -*- C++ -*- // Locale support -*- C++ -*-
// Copyright (C) 1997-1999 Free Software Foundation, Inc. // Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -35,25 +35,21 @@ ...@@ -35,25 +35,21 @@
struct ctype_base struct ctype_base
{ {
typedef unsigned int mask;
// Non-standard typedefs. // Non-standard typedefs.
typedef const int* __to_type; typedef const int* __to_type;
enum // NB: Offsets into ctype<char>::_M_table force a particular size
{ // on the mask type. Because of this, we don't use an enum.
space = (1 << 5), // Whitespace typedef unsigned int mask;
print = (1 << 6), // Printing static const mask upper = 1 << 0;
cntrl = (1 << 9), // Control character static const mask lower = 1 << 1;
upper = (1 << 0), // UPPERCASE static const mask alpha = 1 << 2;
lower = (1 << 1), // lowercase static const mask digit = 1 << 3;
alpha = (1 << 5), // Alphabetic static const mask xdigit = 1 << 4;
digit = (1 << 2), // Numeric static const mask space = 1 << 5;
punct = (1 << 10),// Punctuation static const mask print = 1 << 6;
xdigit = (1 << 4),// Hexadecimal numeric static const mask graph = 1 << 7;
alnum = (1 << 11),// Alphanumeric static const mask cntrl = 1 << 8;
graph = (1 << 7) // Graphical static const mask punct = 1 << 9;
}; static const mask alnum = 1 << 10;
}; };
...@@ -36,21 +36,28 @@ ...@@ -36,21 +36,28 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return _M_table[(unsigned char)(__c)] & __m; } { return _M_table[(unsigned char)(__c)] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
while (__low < __high) const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10
*__vec++ = _M_table[(unsigned char)(*__low++)]; for (;__low < __high; ++__vec, ++__low)
{
mask __m = _M_table[*__low];
int __i = 0; // Lowest bitmask in ctype_base == 0
while (__i < __bitmasksize && !(__m & static_cast<mask>(1 << __i)))
++__i;
*__vec = static_cast<mask>(1 << __i);
}
return __high; return __high;
} }
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !this->is(__m, *__low)) while (__low < __high && !this->is(__m, *__low))
++__low; ++__low;
...@@ -59,7 +66,7 @@ ...@@ -59,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && this->is(__m, *__low) != 0) while (__low < __high && this->is(__m, *__low) != 0)
++__low; ++__low;
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return (_M_table)[__c] & __m; } { return (_M_table)[__c] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !((_M_table)[*__low] & __m)) while (__low < __high && !((_M_table)[*__low] & __m))
++__low; ++__low;
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && ((_M_table + 1)[*__low] & __m) != 0) while (__low < __high && ((_M_table + 1)[*__low] & __m) != 0)
++__low; ++__low;
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return (_M_table + 1)[(unsigned char)(__c)] & __m; } { return (_M_table + 1)[(unsigned char)(__c)] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m)) while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m))
++__low; ++__low;
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high while (__low < __high
&& ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0) && ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0)
......
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return (_M_table + 1)[(unsigned char)(__c)] & __m; } { return (_M_table + 1)[(unsigned char)(__c)] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m)) while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m))
++__low; ++__low;
...@@ -66,15 +66,10 @@ ...@@ -66,15 +66,10 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high while (__low < __high
&& ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0) && ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0)
++__low; ++__low;
return __low; return __low;
} }
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return _M_table[__c] & __m; } { return _M_table[__c] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !(_M_table[*__low] & __m)) while (__low < __high && !(_M_table[*__low] & __m))
++__low; ++__low;
...@@ -66,15 +66,10 @@ ...@@ -66,15 +66,10 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high while (__low < __high
&& (_M_table[*__low] & __m) != 0) && (_M_table[*__low] & __m) != 0)
++__low; ++__low;
return __low; return __low;
} }
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
bool bool
ctype<char>:: ctype<char>::
is(mask __m, char __c) const throw() is(mask __m, char __c) const
{ return _M_table[__c] & __m; } { return _M_table[__c] & __m; }
const char* const char*
ctype<char>:: ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const throw() is(const char* __low, const char* __high, mask* __vec) const
{ {
const int __bitmasksize = sizeof(mask) * 8; const int __bitmasksize = sizeof(mask) * 8;
for (;__low < __high; ++__vec, ++__low) for (;__low < __high; ++__vec, ++__low)
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const throw() scan_is(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high && !(_M_table[*__low] & __m)) while (__low < __high && !(_M_table[*__low] & __m))
++__low; ++__low;
...@@ -66,15 +66,10 @@ ...@@ -66,15 +66,10 @@
const char* const char*
ctype<char>:: ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const throw() scan_not(mask __m, const char* __low, const char* __high) const
{ {
while (__low < __high while (__low < __high
&& (_M_table[*__low] & __m) != 0) && (_M_table[*__low] & __m) != 0)
++__low; ++__low;
return __low; return __low;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment