locale revision 9720d5f59b9c1f5d1b9ecbc9173dbcb71bd557be
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Copyright (c) 1999 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Silicon Graphics Computer Systems, Inc. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Copyright (c) 1999 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Boris Fomitchev 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * This material is provided "as is", with absolutely no warranty expressed 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * or implied. Any use is at your own risk. 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Permission to use or copy this software for any purpose is hereby granted 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * without fee, provided the above notices are retained on all copies. 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Permission to modify the code and to distribute modified code is granted, 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * provided the above notices are retained, and a notice that the code was 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * modified is included with the above copyright notice. 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_LOCALE 1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define _STLP_LOCALE 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Basic framework: class locale and class locale::facet 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_OUTERMOST_HEADER_ID 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# define _STLP_OUTERMOST_HEADER_ID 0x1041 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_prolog.h> 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef _STLP_PRAGMA_ONCE 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# pragma once 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <stl/_ioserr.h> 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Individual facets 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_INTERNAL_CTYPE_H 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_ctype.h> 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_INTERNAL_CODECVT_H 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_codecvt.h> 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_INTERNAL_COLLATE_H 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_collate.h> 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_INTERNAL_NUM_PUT_H 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_num_put.h> 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_INTERNAL_NUM_GET_H 52868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)# include <stl/_num_get.h> 53868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif 54868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 55868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// those never included separately anyway 56868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <stl/_monetary.h> 57868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <stl/_time_facets.h> 58868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <stl/_messages_facets.h> 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// some stuff for streambuf iterators ended up defined there 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Strictly speaking, _istream.h portion is only required for <iterator>, but it may break too many 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// programs if we omit it 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef _STLP_ISTREAM_H 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# include <stl/_istream.h> 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Convenience interfaces 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isspace 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isprint 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef iscntrl 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isupper 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef islower 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isalpha 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isdigit 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef ispunct 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef isxdigit 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#undef isalnum 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#undef isgraph 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef toupper 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef tolower 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)_STLP_BEGIN_NAMESPACE 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isspace (_CharT c, const locale& loc) 8690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::space, c); } 87eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 88eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochtemplate <class _CharT> 8990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)inline bool isprint (_CharT c, const locale& loc) 90c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::print, c); } 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool iscntrl (_CharT c, const locale& loc) 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::cntrl, c); } 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isupper (_CharT c, const locale& loc) 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::upper, c); } 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool islower (_CharT c, const locale& loc) 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::lower, c); } 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isalpha (_CharT c, const locale& loc) 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alpha, c); } 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isdigit (_CharT c, const locale& loc) 110868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::digit, c); } 111868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool ispunct (_CharT c, const locale& loc) 114868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::punct, c); } 115868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 116868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)template <class _CharT> 117868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)inline bool isxdigit (_CharT c, const locale& loc) 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::xdigit, c); } 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isalnum (_CharT c, const locale& loc) 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alnum, c); } 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline bool isgraph (_CharT c, const locale& loc) 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::graph, c); } 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline _CharT toupper(_CharT c, const locale& loc) 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).toupper(c); } 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)template <class _CharT> 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)inline _CharT tolower(_CharT c, const locale& loc) 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ return (use_facet<ctype<_CharT> >(loc)).tolower(c); } 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)_STLP_END_NAMESPACE 137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#if (_STLP_OUTERMOST_HEADER_ID == 0x1041) 139eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# include <stl/_epilog.h> 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# undef _STLP_OUTERMOST_HEADER_ID 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* _STLP_LOCALE */ 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Local Variables: 1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// mode:C++ 1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// End: 1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)