ctype_base.h revision 117397
1192873Sweongyo// Locale support -*- C++ -*- 2192873Sweongyo 3192873Sweongyo// Copyright (C) 2000 Free Software Foundation, Inc. 4192873Sweongyo// 5192873Sweongyo// This file is part of the GNU ISO C++ Library. This library is free 6192873Sweongyo// software; you can redistribute it and/or modify it under the 7192873Sweongyo// terms of the GNU General Public License as published by the 8192873Sweongyo// Free Software Foundation; either version 2, or (at your option) 9192873Sweongyo// any later version. 10192873Sweongyo 11192873Sweongyo// This library is distributed in the hope that it will be useful, 12192873Sweongyo// but WITHOUT ANY WARRANTY; without even the implied warranty of 13192873Sweongyo// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14192873Sweongyo// GNU General Public License for more details. 15192873Sweongyo 16192873Sweongyo// You should have received a copy of the GNU General Public License along 17192873Sweongyo// with this library; see the file COPYING. If not, write to the Free 18192873Sweongyo// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 19192873Sweongyo// USA. 20192873Sweongyo 21192873Sweongyo// As a special exception, you may use this file as part of a free software 22192873Sweongyo// library without restriction. Specifically, if other files instantiate 23192873Sweongyo// templates or use macros or inline functions from this file, or you compile 24192873Sweongyo// this file and link it with other files to produce an executable, this 25192873Sweongyo// file does not by itself cause the resulting executable to be covered by 26192873Sweongyo// the GNU General Public License. This exception does not however 27192873Sweongyo// invalidate any other reasons why the executable file might be covered by 28192873Sweongyo// the GNU General Public License. 29192873Sweongyo 30192873Sweongyo// 31192873Sweongyo// ISO C++ 14882: 22.1 Locales 32192873Sweongyo// 33192873Sweongyo 34192873Sweongyo// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1 35192873Sweongyo 36192873Sweongyo// Support for Solaris 2.5.1 37192873Sweongyo 38192873Sweongyo struct ctype_base 39257176Sglebius { 40192873Sweongyo // Non-standard typedefs. 41192873Sweongyo typedef const int* __to_type; 42192873Sweongyo 43192873Sweongyo // NB: Offsets into ctype<char>::_M_table force a particular size 44192873Sweongyo // on the mask type. Because of this, we don't use an enum. 45192873Sweongyo typedef char mask; 46192873Sweongyo static const mask upper = _U; 47192873Sweongyo static const mask lower = _L; 48192873Sweongyo static const mask alpha = _U | _L; 49192873Sweongyo static const mask digit = _N; 50192873Sweongyo static const mask xdigit = _X | _N; 51192873Sweongyo static const mask space = _S; 52192873Sweongyo static const mask print = _P | _U | _L | _N | _B; 53192873Sweongyo static const mask graph = _P | _U | _L | _N; 54192873Sweongyo static const mask cntrl = _C; 55192873Sweongyo static const mask punct = _P; 56192873Sweongyo static const mask alnum = _U | _L | _N; 57192873Sweongyo }; 58192873Sweongyo