[BACK]Return to ctype_base.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / gcc / dist / libstdc++-v3 / config / os / bsd / netbsd

Annotation of src/external/gpl3/gcc/dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h, Revision 1.8.4.1

1.1       mrg         1: // Locale support -*- C++ -*-
                      2:
1.8.4.1 ! christos    3: // Copyright (C) 2000-2017 Free Software Foundation, Inc.
1.1       mrg         4: //
                      5: // This file is part of the GNU ISO C++ Library.  This library is free
                      6: // software; you can redistribute it and/or modify it under the
                      7: // terms of the GNU General Public License as published by the
                      8: // Free Software Foundation; either version 3, or (at your option)
                      9: // any later version.
                     10:
                     11: // This library is distributed in the hope that it will be useful,
                     12: // but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14: // GNU General Public License for more details.
                     15:
                     16: // Under Section 7 of GPL version 3, you are granted additional
                     17: // permissions described in the GCC Runtime Library Exception, version
                     18: // 3.1, as published by the Free Software Foundation.
                     19:
                     20: // You should have received a copy of the GNU General Public License and
                     21: // a copy of the GCC Runtime Library Exception along with this program;
                     22: // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
                     23: // <http://www.gnu.org/licenses/>.
                     24:
                     25: //
                     26: // ISO C++ 14882: 22.1  Locales
                     27: //
1.8.4.1 ! christos   28:
1.1       mrg        29: // Information as gleaned from /usr/include/ctype.h on NetBSD.
                     30: // Full details can be found from the CVS files at:
                     31: //   anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
                     32: // See www.netbsd.org for details of access.
1.8.4.1 ! christos   33:
1.6       mrg        34: namespace std _GLIBCXX_VISIBILITY(default)
                     35: {
                     36: _GLIBCXX_BEGIN_NAMESPACE_VERSION
1.1       mrg        37:
                     38:   /// @brief  Base class for ctype.
                     39:   struct ctype_base
                     40:   {
1.6       mrg        41:
                     42:     // NB: Offsets into ctype<char>::_M_table force a particular size
                     43:     // on the mask type. Because of this, we don't use an enum.
                     44:
                     45: #ifndef _CTYPE_U
1.1       mrg        46:     // Non-standard typedefs.
                     47:     typedef const unsigned char*       __to_type;
                     48:
1.6       mrg        49:     typedef unsigned char              mask;
                     50:
                     51:     static const mask upper            = _U;
                     52:     static const mask lower    = _L;
                     53:     static const mask alpha    = _U | _L;
                     54:     static const mask digit    = _N;
                     55:     static const mask xdigit   = _N | _X;
                     56:     static const mask space    = _S;
                     57:     static const mask print    = _P | _U | _L | _N | _B;
                     58:     static const mask graph    = _P | _U | _L | _N;
                     59:     static const mask cntrl    = _C;
                     60:     static const mask punct    = _P;
                     61:     static const mask alnum    = _U | _L | _N;
                     62: #else
                     63:     typedef const unsigned short*      __to_type;
                     64:
1.3       joerg      65:     typedef unsigned short             mask;
1.6       mrg        66:
1.2       mrg        67:     static const mask upper            = _CTYPE_U;
                     68:     static const mask lower    = _CTYPE_L;
1.3       joerg      69:     static const mask alpha    = _CTYPE_A;
                     70:     static const mask digit    = _CTYPE_D;
                     71:     static const mask xdigit   = _CTYPE_X;
1.2       mrg        72:     static const mask space    = _CTYPE_S;
1.3       joerg      73:     static const mask print    = _CTYPE_R;
                     74:     static const mask graph    = _CTYPE_G;
1.2       mrg        75:     static const mask cntrl    = _CTYPE_C;
                     76:     static const mask punct    = _CTYPE_P;
1.3       joerg      77:     static const mask alnum    = _CTYPE_A | _CTYPE_D;
1.6       mrg        78: #endif
1.7       mrg        79: #if __cplusplus >= 201103L
                     80:     static const mask blank    = space;
                     81: #endif
1.1       mrg        82:   };
                     83:
1.6       mrg        84: _GLIBCXX_END_NAMESPACE_VERSION
                     85: } // namespace

CVSweb <webmaster@jp.NetBSD.org>