epoc32/include/stdapis/stlport/stl/_bitset.c
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2  * Copyright (c) 1998
     3  * Silicon Graphics Computer Systems, Inc.
     4  *
     5  * Copyright (c) 1999 
     6  * Boris Fomitchev
     7  *
     8  * This material is provided "as is", with absolutely no warranty expressed
     9  * or implied. Any use is at your own risk.
    10  *
    11  * Permission to use or copy this software for any purpose is hereby granted 
    12  * without fee, provided the above notices are retained on all copies.
    13  * Permission to modify the code and to distribute modified code is granted,
    14  * provided the above notices are retained, and a notice that the code was
    15  * modified is included with the above copyright notice.
    16  *
    17  */
    18 
    19 #ifndef _STLP_BITSET_C
    20 # define  _STLP_BITSET_C
    21 
    22 # ifndef _STLP_BITSET_H
    23 #  include <stl/_bitset.h>
    24 # endif
    25 
    26 # define __BITS_PER_WORD (CHAR_BIT*sizeof(unsigned long))
    27 
    28 _STLP_BEGIN_NAMESPACE
    29 
    30 //
    31 // Definitions of non-inline functions from _Base_bitset.
    32 // 
    33 
    34 
    35 template<size_t _Nw>
    36 void _STLP_IMPORT_METHOD _Base_bitset<_Nw>::_M_do_left_shift(size_t __shift) 
    37 {
    38 
    39   if (__shift != 0) {
    40     const size_t __wshift = __shift / __BITS_PER_WORD;
    41     const size_t __offset = __shift % __BITS_PER_WORD;
    42 
    43     if (__offset == 0)
    44       for (size_t __n = _Nw - 1; __n >= __wshift; --__n)
    45         _M_w[__n] = _M_w[__n - __wshift];
    46 
    47     else {
    48       const size_t __sub_offset = __BITS_PER_WORD - __offset;
    49       for (size_t __n = _Nw - 1; __n > __wshift; --__n)
    50         _M_w[__n] = (_M_w[__n - __wshift] << __offset) | 
    51                     (_M_w[__n - __wshift - 1] >> __sub_offset);
    52       _M_w[__wshift] = _M_w[0] << __offset;
    53     }
    54 
    55     fill(_M_w + 0, _M_w + __wshift, __STATIC_CAST(_WordT,0));
    56   }
    57 }
    58 
    59 template<size_t _Nw>
    60 void _Base_bitset<_Nw>::_M_do_right_shift(size_t __shift) 
    61 {
    62 
    63   if (__shift != 0) {
    64     const size_t __wshift = __shift / __BITS_PER_WORD;
    65     const size_t __offset = __shift % __BITS_PER_WORD;
    66     const size_t __limit = _Nw - __wshift - 1;
    67 
    68     if (__offset == 0)
    69       for (size_t __n = 0; __n <= __limit; ++__n)
    70         _M_w[__n] = _M_w[__n + __wshift];
    71 
    72     else {
    73       const size_t __sub_offset = __BITS_PER_WORD - __offset;
    74       for (size_t __n = 0; __n < __limit; ++__n)
    75         _M_w[__n] = (_M_w[__n + __wshift] >> __offset) |
    76                     (_M_w[__n + __wshift + 1] << __sub_offset);
    77       _M_w[__limit] = _M_w[_Nw-1] >> __offset;
    78     }
    79 
    80     fill(_M_w + __limit + 1, _M_w + _Nw, __STATIC_CAST(_WordT,0));
    81   }
    82 }
    83 
    84 template<size_t _Nw>
    85 unsigned long _Base_bitset<_Nw>::_M_do_to_ulong() const
    86 {
    87   for (size_t __i = 1; __i < _Nw; ++__i) 
    88     if (_M_w[__i]) 
    89       __stl_throw_overflow_error("bitset");
    90   return _M_w[0];
    91 } // End _M_do_to_ulong
    92 
    93 template<size_t _Nw>
    94 size_t _Base_bitset<_Nw>::_M_do_find_first(size_t __not_found) const 
    95 {
    96   for ( size_t __i = 0; __i < _Nw; __i++ ) {
    97     _WordT __thisword = _M_w[__i];
    98     if ( __thisword != __STATIC_CAST(_WordT,0) ) {
    99       // find byte within word
   100       for ( size_t __j = 0; __j < sizeof(_WordT); __j++ ) {
   101         unsigned char __this_byte
   102           = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0)));
   103         if ( __this_byte )
   104           return __i*__BITS_PER_WORD + __j*CHAR_BIT +
   105             _Bs_G<bool>::_S_first_one[__this_byte];
   106 
   107         __thisword >>= CHAR_BIT;
   108       }
   109     }
   110   }
   111   // not found, so return an indication of failure.
   112   return __not_found;
   113 }
   114 
   115 template<size_t _Nw>
   116 size_t
   117 _Base_bitset<_Nw>::_M_do_find_next(size_t __prev, 
   118                                    size_t __not_found) const
   119 {
   120   // make bound inclusive
   121   ++__prev;
   122 
   123   // check out of bounds
   124   if ( __prev >= _Nw * __BITS_PER_WORD )
   125     return __not_found;
   126 
   127     // search first word
   128   size_t __i = _S_whichword(__prev);
   129   _WordT __thisword = _M_w[__i];
   130 
   131     // mask off bits below bound
   132   __thisword &= (~__STATIC_CAST(_WordT,0)) << _S_whichbit(__prev);
   133 
   134   if ( __thisword != __STATIC_CAST(_WordT,0) ) {
   135     // find byte within word
   136     // get first byte into place
   137     __thisword >>= _S_whichbyte(__prev) * CHAR_BIT;
   138     for ( size_t __j = _S_whichbyte(__prev); __j < sizeof(_WordT); __j++ ) {
   139       unsigned char __this_byte
   140         = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0)));
   141       if ( __this_byte )
   142         return __i*__BITS_PER_WORD + __j*CHAR_BIT +
   143           _Bs_G<bool>::_S_first_one[__this_byte];
   144 
   145       __thisword >>= CHAR_BIT;
   146     }
   147   }
   148 
   149   // check subsequent words
   150   __i++;
   151   for ( ; __i < _Nw; __i++ ) {
   152     /* _WordT */ __thisword = _M_w[__i];
   153     if ( __thisword != __STATIC_CAST(_WordT,0) ) {
   154       // find byte within word
   155       for ( size_t __j = 0; __j < sizeof(_WordT); __j++ ) {
   156         unsigned char __this_byte
   157           = __STATIC_CAST(unsigned char,(__thisword & (~(unsigned char)0)));
   158         if ( __this_byte )
   159           return __i*__BITS_PER_WORD + __j*CHAR_BIT +
   160             _Bs_G<bool>::_S_first_one[__this_byte];
   161 
   162         __thisword >>= CHAR_BIT;
   163       }
   164     }
   165   }
   166 
   167   // not found, so return an indication of failure.
   168   return __not_found;
   169 } // end _M_do_find_next
   170 
   171 
   172 
   173 # if ! defined (_STLP_NON_TYPE_TMPL_PARAM_BUG)
   174 
   175 #if defined ( _STLP_USE_NEW_IOSTREAMS)
   176 
   177 template <class _CharT, class _Traits, size_t _Nb>
   178 basic_istream<_CharT, _Traits>& _STLP_CALL
   179 operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x)
   180 {
   181   basic_string<_CharT, _Traits> __tmp;
   182   __tmp.reserve(_Nb);
   183 
   184   // Skip whitespace
   185   typename basic_istream<_CharT, _Traits>::sentry __sentry(__is);
   186   if (__sentry) {
   187     basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf();
   188     for (size_t __i = 0; __i < _Nb; ++__i) {
   189       static typename _Traits::int_type __eof = _Traits::eof();
   190 
   191       typename _Traits::int_type __c1 = __buf->sbumpc();
   192       if (_Traits::eq_int_type(__c1, __eof)) {
   193         __is.setstate(ios_base::eofbit);
   194         break;
   195       }
   196       else {
   197         char __c2 = _Traits::to_char_type(__c1);
   198         char __c  = __is.narrow(__c2, '*');
   199 
   200         if (__c == '0' || __c == '1')
   201           __tmp.push_back(__c);
   202         else if (_Traits::eq_int_type(__buf->sputbackc(__c2), __eof)) {
   203           __is.setstate(ios_base::failbit);
   204           break;
   205         }
   206       }
   207     }
   208 
   209     if (__tmp.empty())
   210       __is.setstate(ios_base::failbit);
   211     else
   212       __x._M_copy_from_string(__tmp, __STATIC_CAST(size_t,0), _Nb);
   213   }
   214 
   215   return __is;
   216 }
   217 
   218 template <class _CharT, class _Traits, size_t _Nb>
   219 basic_ostream<_CharT, _Traits>& _STLP_CALL
   220 operator<<(basic_ostream<_CharT, _Traits>& __os,
   221            const bitset<_Nb>& __x)
   222 {
   223   basic_string<_CharT, _Traits> __tmp;
   224   __x._M_copy_to_string(__tmp);
   225   return __os << __tmp;
   226 }
   227 
   228 #elif ! defined ( _STLP_USE_NO_IOSTREAMS )
   229 
   230 // (reg) For Watcom IO, this tells if ostream class is in .exe or in .dll
   231 template <size_t _Nb>
   232 _ISTREAM_DLL& _STLP_CALL
   233 operator>>(_ISTREAM_DLL& __is, bitset<_Nb>& __x) {
   234   string __tmp;
   235   __tmp.reserve(_Nb);
   236 
   237   // In new templatized iostreams, use istream::sentry
   238   if (__is.flags() & ios::skipws) {
   239     char __c;
   240     do 
   241       __is.get(__c);
   242     while (__is && isspace(__c));
   243     if (__is)
   244       __is.putback(__c);
   245   }
   246 
   247   for (size_t __i = 0; __i < _Nb; ++__i) {
   248     char __c;
   249     __is.get(__c);
   250 
   251     if (!__is)
   252       break;
   253     else if (__c != '0' && __c != '1') {
   254       __is.putback(__c);
   255       break;
   256     }
   257     else
   258       __tmp.push_back(__c);
   259   }
   260 
   261   if (__tmp.empty()) 
   262     __is.clear(__is.rdstate() | ios::failbit);
   263   else
   264     __x._M_copy_from_string(__tmp, __STATIC_CAST(size_t,0), _Nb);
   265 
   266   return __is;
   267 }
   268 
   269 # endif /* _STLP_USE_NEW_IOSTREAMS */
   270 
   271 # endif /* _STLP_NON_TYPE_TMPL_PARAM_BUG */
   272 
   273 
   274 # if defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION)
   275 
   276 // ------------------------------------------------------------
   277 // Lookup tables for find and count operations.
   278 
   279 # if ( _STLP_STATIC_TEMPLATE_DATA > 0 )
   280 template<class _Dummy>
   281 const unsigned char _Bs_G<_Dummy>::_S_bit_count[256] = {
   282 # else
   283 const unsigned char _Bs_G<bool>::_S_bit_count[256] _STLP_WEAK = {
   284 # endif
   285   0, /*   0 */ 1, /*   1 */ 1, /*   2 */ 2, /*   3 */ 1, /*   4 */
   286   2, /*   5 */ 2, /*   6 */ 3, /*   7 */ 1, /*   8 */ 2, /*   9 */
   287   2, /*  10 */ 3, /*  11 */ 2, /*  12 */ 3, /*  13 */ 3, /*  14 */
   288   4, /*  15 */ 1, /*  16 */ 2, /*  17 */ 2, /*  18 */ 3, /*  19 */
   289   2, /*  20 */ 3, /*  21 */ 3, /*  22 */ 4, /*  23 */ 2, /*  24 */
   290   3, /*  25 */ 3, /*  26 */ 4, /*  27 */ 3, /*  28 */ 4, /*  29 */
   291   4, /*  30 */ 5, /*  31 */ 1, /*  32 */ 2, /*  33 */ 2, /*  34 */
   292   3, /*  35 */ 2, /*  36 */ 3, /*  37 */ 3, /*  38 */ 4, /*  39 */
   293   2, /*  40 */ 3, /*  41 */ 3, /*  42 */ 4, /*  43 */ 3, /*  44 */
   294   4, /*  45 */ 4, /*  46 */ 5, /*  47 */ 2, /*  48 */ 3, /*  49 */
   295   3, /*  50 */ 4, /*  51 */ 3, /*  52 */ 4, /*  53 */ 4, /*  54 */
   296   5, /*  55 */ 3, /*  56 */ 4, /*  57 */ 4, /*  58 */ 5, /*  59 */
   297   4, /*  60 */ 5, /*  61 */ 5, /*  62 */ 6, /*  63 */ 1, /*  64 */
   298   2, /*  65 */ 2, /*  66 */ 3, /*  67 */ 2, /*  68 */ 3, /*  69 */
   299   3, /*  70 */ 4, /*  71 */ 2, /*  72 */ 3, /*  73 */ 3, /*  74 */
   300   4, /*  75 */ 3, /*  76 */ 4, /*  77 */ 4, /*  78 */ 5, /*  79 */
   301   2, /*  80 */ 3, /*  81 */ 3, /*  82 */ 4, /*  83 */ 3, /*  84 */
   302   4, /*  85 */ 4, /*  86 */ 5, /*  87 */ 3, /*  88 */ 4, /*  89 */
   303   4, /*  90 */ 5, /*  91 */ 4, /*  92 */ 5, /*  93 */ 5, /*  94 */
   304   6, /*  95 */ 2, /*  96 */ 3, /*  97 */ 3, /*  98 */ 4, /*  99 */
   305   3, /* 100 */ 4, /* 101 */ 4, /* 102 */ 5, /* 103 */ 3, /* 104 */
   306   4, /* 105 */ 4, /* 106 */ 5, /* 107 */ 4, /* 108 */ 5, /* 109 */
   307   5, /* 110 */ 6, /* 111 */ 3, /* 112 */ 4, /* 113 */ 4, /* 114 */
   308   5, /* 115 */ 4, /* 116 */ 5, /* 117 */ 5, /* 118 */ 6, /* 119 */
   309   4, /* 120 */ 5, /* 121 */ 5, /* 122 */ 6, /* 123 */ 5, /* 124 */
   310   6, /* 125 */ 6, /* 126 */ 7, /* 127 */ 1, /* 128 */ 2, /* 129 */
   311   2, /* 130 */ 3, /* 131 */ 2, /* 132 */ 3, /* 133 */ 3, /* 134 */
   312   4, /* 135 */ 2, /* 136 */ 3, /* 137 */ 3, /* 138 */ 4, /* 139 */
   313   3, /* 140 */ 4, /* 141 */ 4, /* 142 */ 5, /* 143 */ 2, /* 144 */
   314   3, /* 145 */ 3, /* 146 */ 4, /* 147 */ 3, /* 148 */ 4, /* 149 */
   315   4, /* 150 */ 5, /* 151 */ 3, /* 152 */ 4, /* 153 */ 4, /* 154 */
   316   5, /* 155 */ 4, /* 156 */ 5, /* 157 */ 5, /* 158 */ 6, /* 159 */
   317   2, /* 160 */ 3, /* 161 */ 3, /* 162 */ 4, /* 163 */ 3, /* 164 */
   318   4, /* 165 */ 4, /* 166 */ 5, /* 167 */ 3, /* 168 */ 4, /* 169 */
   319   4, /* 170 */ 5, /* 171 */ 4, /* 172 */ 5, /* 173 */ 5, /* 174 */
   320   6, /* 175 */ 3, /* 176 */ 4, /* 177 */ 4, /* 178 */ 5, /* 179 */
   321   4, /* 180 */ 5, /* 181 */ 5, /* 182 */ 6, /* 183 */ 4, /* 184 */
   322   5, /* 185 */ 5, /* 186 */ 6, /* 187 */ 5, /* 188 */ 6, /* 189 */
   323   6, /* 190 */ 7, /* 191 */ 2, /* 192 */ 3, /* 193 */ 3, /* 194 */
   324   4, /* 195 */ 3, /* 196 */ 4, /* 197 */ 4, /* 198 */ 5, /* 199 */
   325   3, /* 200 */ 4, /* 201 */ 4, /* 202 */ 5, /* 203 */ 4, /* 204 */
   326   5, /* 205 */ 5, /* 206 */ 6, /* 207 */ 3, /* 208 */ 4, /* 209 */
   327   4, /* 210 */ 5, /* 211 */ 4, /* 212 */ 5, /* 213 */ 5, /* 214 */
   328   6, /* 215 */ 4, /* 216 */ 5, /* 217 */ 5, /* 218 */ 6, /* 219 */
   329   5, /* 220 */ 6, /* 221 */ 6, /* 222 */ 7, /* 223 */ 3, /* 224 */
   330   4, /* 225 */ 4, /* 226 */ 5, /* 227 */ 4, /* 228 */ 5, /* 229 */
   331   5, /* 230 */ 6, /* 231 */ 4, /* 232 */ 5, /* 233 */ 5, /* 234 */
   332   6, /* 235 */ 5, /* 236 */ 6, /* 237 */ 6, /* 238 */ 7, /* 239 */
   333   4, /* 240 */ 5, /* 241 */ 5, /* 242 */ 6, /* 243 */ 5, /* 244 */
   334   6, /* 245 */ 6, /* 246 */ 7, /* 247 */ 5, /* 248 */ 6, /* 249 */
   335   6, /* 250 */ 7, /* 251 */ 6, /* 252 */ 7, /* 253 */ 7, /* 254 */
   336   8  /* 255 */
   337 }; // end _Bitset_global
   338 
   339 # if ( _STLP_STATIC_TEMPLATE_DATA > 0 )
   340 template<class _Dummy>
   341 const unsigned char _Bs_G<_Dummy>::_S_first_one[256] = {
   342 # else
   343 const unsigned char _Bs_G<bool>::_S_first_one[256] _STLP_WEAK = {
   344 # endif
   345 
   346   0, /*   0 */ 0, /*   1 */ 1, /*   2 */ 0, /*   3 */ 2, /*   4 */
   347   0, /*   5 */ 1, /*   6 */ 0, /*   7 */ 3, /*   8 */ 0, /*   9 */
   348   1, /*  10 */ 0, /*  11 */ 2, /*  12 */ 0, /*  13 */ 1, /*  14 */
   349   0, /*  15 */ 4, /*  16 */ 0, /*  17 */ 1, /*  18 */ 0, /*  19 */
   350   2, /*  20 */ 0, /*  21 */ 1, /*  22 */ 0, /*  23 */ 3, /*  24 */
   351   0, /*  25 */ 1, /*  26 */ 0, /*  27 */ 2, /*  28 */ 0, /*  29 */
   352   1, /*  30 */ 0, /*  31 */ 5, /*  32 */ 0, /*  33 */ 1, /*  34 */
   353   0, /*  35 */ 2, /*  36 */ 0, /*  37 */ 1, /*  38 */ 0, /*  39 */
   354   3, /*  40 */ 0, /*  41 */ 1, /*  42 */ 0, /*  43 */ 2, /*  44 */
   355   0, /*  45 */ 1, /*  46 */ 0, /*  47 */ 4, /*  48 */ 0, /*  49 */
   356   1, /*  50 */ 0, /*  51 */ 2, /*  52 */ 0, /*  53 */ 1, /*  54 */
   357   0, /*  55 */ 3, /*  56 */ 0, /*  57 */ 1, /*  58 */ 0, /*  59 */
   358   2, /*  60 */ 0, /*  61 */ 1, /*  62 */ 0, /*  63 */ 6, /*  64 */
   359   0, /*  65 */ 1, /*  66 */ 0, /*  67 */ 2, /*  68 */ 0, /*  69 */
   360   1, /*  70 */ 0, /*  71 */ 3, /*  72 */ 0, /*  73 */ 1, /*  74 */
   361   0, /*  75 */ 2, /*  76 */ 0, /*  77 */ 1, /*  78 */ 0, /*  79 */
   362   4, /*  80 */ 0, /*  81 */ 1, /*  82 */ 0, /*  83 */ 2, /*  84 */
   363   0, /*  85 */ 1, /*  86 */ 0, /*  87 */ 3, /*  88 */ 0, /*  89 */
   364   1, /*  90 */ 0, /*  91 */ 2, /*  92 */ 0, /*  93 */ 1, /*  94 */
   365   0, /*  95 */ 5, /*  96 */ 0, /*  97 */ 1, /*  98 */ 0, /*  99 */
   366   2, /* 100 */ 0, /* 101 */ 1, /* 102 */ 0, /* 103 */ 3, /* 104 */
   367   0, /* 105 */ 1, /* 106 */ 0, /* 107 */ 2, /* 108 */ 0, /* 109 */
   368   1, /* 110 */ 0, /* 111 */ 4, /* 112 */ 0, /* 113 */ 1, /* 114 */
   369   0, /* 115 */ 2, /* 116 */ 0, /* 117 */ 1, /* 118 */ 0, /* 119 */
   370   3, /* 120 */ 0, /* 121 */ 1, /* 122 */ 0, /* 123 */ 2, /* 124 */
   371   0, /* 125 */ 1, /* 126 */ 0, /* 127 */ 7, /* 128 */ 0, /* 129 */
   372   1, /* 130 */ 0, /* 131 */ 2, /* 132 */ 0, /* 133 */ 1, /* 134 */
   373   0, /* 135 */ 3, /* 136 */ 0, /* 137 */ 1, /* 138 */ 0, /* 139 */
   374   2, /* 140 */ 0, /* 141 */ 1, /* 142 */ 0, /* 143 */ 4, /* 144 */
   375   0, /* 145 */ 1, /* 146 */ 0, /* 147 */ 2, /* 148 */ 0, /* 149 */
   376   1, /* 150 */ 0, /* 151 */ 3, /* 152 */ 0, /* 153 */ 1, /* 154 */
   377   0, /* 155 */ 2, /* 156 */ 0, /* 157 */ 1, /* 158 */ 0, /* 159 */
   378   5, /* 160 */ 0, /* 161 */ 1, /* 162 */ 0, /* 163 */ 2, /* 164 */
   379   0, /* 165 */ 1, /* 166 */ 0, /* 167 */ 3, /* 168 */ 0, /* 169 */
   380   1, /* 170 */ 0, /* 171 */ 2, /* 172 */ 0, /* 173 */ 1, /* 174 */
   381   0, /* 175 */ 4, /* 176 */ 0, /* 177 */ 1, /* 178 */ 0, /* 179 */
   382   2, /* 180 */ 0, /* 181 */ 1, /* 182 */ 0, /* 183 */ 3, /* 184 */
   383   0, /* 185 */ 1, /* 186 */ 0, /* 187 */ 2, /* 188 */ 0, /* 189 */
   384   1, /* 190 */ 0, /* 191 */ 6, /* 192 */ 0, /* 193 */ 1, /* 194 */
   385   0, /* 195 */ 2, /* 196 */ 0, /* 197 */ 1, /* 198 */ 0, /* 199 */
   386   3, /* 200 */ 0, /* 201 */ 1, /* 202 */ 0, /* 203 */ 2, /* 204 */
   387   0, /* 205 */ 1, /* 206 */ 0, /* 207 */ 4, /* 208 */ 0, /* 209 */
   388   1, /* 210 */ 0, /* 211 */ 2, /* 212 */ 0, /* 213 */ 1, /* 214 */
   389   0, /* 215 */ 3, /* 216 */ 0, /* 217 */ 1, /* 218 */ 0, /* 219 */
   390   2, /* 220 */ 0, /* 221 */ 1, /* 222 */ 0, /* 223 */ 5, /* 224 */
   391   0, /* 225 */ 1, /* 226 */ 0, /* 227 */ 2, /* 228 */ 0, /* 229 */
   392   1, /* 230 */ 0, /* 231 */ 3, /* 232 */ 0, /* 233 */ 1, /* 234 */
   393   0, /* 235 */ 2, /* 236 */ 0, /* 237 */ 1, /* 238 */ 0, /* 239 */
   394   4, /* 240 */ 0, /* 241 */ 1, /* 242 */ 0, /* 243 */ 2, /* 244 */
   395   0, /* 245 */ 1, /* 246 */ 0, /* 247 */ 3, /* 248 */ 0, /* 249 */
   396   1, /* 250 */ 0, /* 251 */ 2, /* 252 */ 0, /* 253 */ 1, /* 254 */
   397   0, /* 255 */
   398 }; // end _Bitset_global
   399 
   400 # endif /* defined (_STLP_EXPOSE_GLOBALS_IMPLEMENTATION) */
   401 
   402 _STLP_END_NAMESPACE
   403 
   404 #  undef __BITS_PER_WORD
   405 #  undef bitset
   406 
   407 #endif /*  _STLP_BITSET_C */