1951a39d68df598db08dfced8b4707755864a0492Ying Wang// Locale support -*- C++ -*- 2951a39d68df598db08dfced8b4707755864a0492Ying Wang 3951a39d68df598db08dfced8b4707755864a0492Ying Wang// Copyright (C) 2010 Free Software Foundation, Inc. 4951a39d68df598db08dfced8b4707755864a0492Ying Wang// 5951a39d68df598db08dfced8b4707755864a0492Ying Wang// This file is part of the GNU ISO C++ Library. This library is free 6951a39d68df598db08dfced8b4707755864a0492Ying Wang// software; you can redistribute it and/or modify it under the 7951a39d68df598db08dfced8b4707755864a0492Ying Wang// terms of the GNU General Public License as published by the 8951a39d68df598db08dfced8b4707755864a0492Ying Wang// Free Software Foundation; either version 3, or (at your option) 9951a39d68df598db08dfced8b4707755864a0492Ying Wang// any later version. 10951a39d68df598db08dfced8b4707755864a0492Ying Wang 11951a39d68df598db08dfced8b4707755864a0492Ying Wang// This library is distributed in the hope that it will be useful, 12951a39d68df598db08dfced8b4707755864a0492Ying Wang// but WITHOUT ANY WARRANTY; without even the implied warranty of 13951a39d68df598db08dfced8b4707755864a0492Ying Wang// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14951a39d68df598db08dfced8b4707755864a0492Ying Wang// GNU General Public License for more details. 15951a39d68df598db08dfced8b4707755864a0492Ying Wang 16951a39d68df598db08dfced8b4707755864a0492Ying Wang// Under Section 7 of GPL version 3, you are granted additional 17951a39d68df598db08dfced8b4707755864a0492Ying Wang// permissions described in the GCC Runtime Library Exception, version 18951a39d68df598db08dfced8b4707755864a0492Ying Wang// 3.1, as published by the Free Software Foundation. 19951a39d68df598db08dfced8b4707755864a0492Ying Wang 20951a39d68df598db08dfced8b4707755864a0492Ying Wang// You should have received a copy of the GNU General Public License and 21951a39d68df598db08dfced8b4707755864a0492Ying Wang// a copy of the GCC Runtime Library Exception along with this program; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23951a39d68df598db08dfced8b4707755864a0492Ying Wang// <http://www.gnu.org/licenses/>. 24951a39d68df598db08dfced8b4707755864a0492Ying Wang 25951a39d68df598db08dfced8b4707755864a0492Ying Wang// 26951a39d68df598db08dfced8b4707755864a0492Ying Wang// ISO C++ 14882: 22.1 Locales 27951a39d68df598db08dfced8b4707755864a0492Ying Wang// 28951a39d68df598db08dfced8b4707755864a0492Ying Wang 29951a39d68df598db08dfced8b4707755864a0492Ying Wang// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1 30951a39d68df598db08dfced8b4707755864a0492Ying Wang 31951a39d68df598db08dfced8b4707755864a0492Ying Wang// Support for Solaris 2.5.1 32951a39d68df598db08dfced8b4707755864a0492Ying Wang 33951a39d68df598db08dfced8b4707755864a0492Ying Wang_GLIBCXX_BEGIN_NAMESPACE(std) 34951a39d68df598db08dfced8b4707755864a0492Ying Wang 35951a39d68df598db08dfced8b4707755864a0492Ying Wang /// @brief Base class for ctype. 36951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ctype_base 37951a39d68df598db08dfced8b4707755864a0492Ying Wang { 38951a39d68df598db08dfced8b4707755864a0492Ying Wang // Non-standard typedefs. 39951a39d68df598db08dfced8b4707755864a0492Ying Wang typedef const int* __to_type; 40951a39d68df598db08dfced8b4707755864a0492Ying Wang 41951a39d68df598db08dfced8b4707755864a0492Ying Wang // NB: Offsets into ctype<char>::_M_table force a particular size 42951a39d68df598db08dfced8b4707755864a0492Ying Wang // on the mask type. Because of this, we don't use an enum. 43951a39d68df598db08dfced8b4707755864a0492Ying Wang typedef char mask; 44951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask upper = _U; 45951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask lower = _L; 46951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask alpha = _U | _L; 47951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask digit = _N; 48951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask xdigit = _X | _N; 49951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask space = _S; 50951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask print = _P | _U | _L | _N | _B; 51951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask graph = _P | _U | _L | _N; 52951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask cntrl = _C; 53951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask punct = _P; 54951a39d68df598db08dfced8b4707755864a0492Ying Wang static const mask alnum = _U | _L | _N; 55951a39d68df598db08dfced8b4707755864a0492Ying Wang }; 56951a39d68df598db08dfced8b4707755864a0492Ying Wang 57951a39d68df598db08dfced8b4707755864a0492Ying Wang_GLIBCXX_END_NAMESPACE 58