123
This commit is contained in:
168
STLPORT/stlport/locale
Normal file
168
STLPORT/stlport/locale
Normal file
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
* Copyright (c) 1999
|
||||
* Silicon Graphics Computer Systems, Inc.
|
||||
*
|
||||
* Copyright (c) 1999
|
||||
* Boris Fomitchev
|
||||
*
|
||||
* This material is provided "as is", with absolutely no warranty expressed
|
||||
* or implied. Any use is at your own risk.
|
||||
*
|
||||
* Permission to use or copy this software for any purpose is hereby granted
|
||||
* without fee, provided the above notices are retained on all copies.
|
||||
* Permission to modify the code and to distribute modified code is granted,
|
||||
* provided the above notices are retained, and a notice that the code was
|
||||
* modified is included with the above copyright notice.
|
||||
*
|
||||
*/
|
||||
#ifndef _STLP_LOCALE
|
||||
#define _STLP_LOCALE
|
||||
|
||||
// Basic framework: class locale and class locale::facet
|
||||
|
||||
# ifndef _STLP_OUTERMOST_HEADER_ID
|
||||
# define _STLP_OUTERMOST_HEADER_ID 0x1041
|
||||
# include <stl/_prolog.h>
|
||||
# endif
|
||||
|
||||
# ifdef _STLP_PRAGMA_ONCE
|
||||
# pragma once
|
||||
# endif
|
||||
|
||||
# if defined (_STLP_OWN_IOSTREAMS)
|
||||
|
||||
// Individual facets
|
||||
#ifndef _STLP_INTERNAL_CTYPE_H
|
||||
#include <stl/_ctype.h>
|
||||
#endif
|
||||
#ifndef _STLP_INTERNAL_CODECVT_H
|
||||
#include <stl/_codecvt.h>
|
||||
#endif
|
||||
#ifndef _STLP_INTERNAL_COLLATE_H
|
||||
#include <stl/_collate.h>
|
||||
#endif
|
||||
#ifndef _STLP_INTERNAL_NUM_PUT_H
|
||||
# include <stl/_num_put.h>
|
||||
#endif
|
||||
|
||||
#ifndef _STLP_INTERNAL_NUM_GET_H
|
||||
# include <stl/_num_get.h>
|
||||
#endif
|
||||
|
||||
// those never included separately anyway
|
||||
#include <stl/_monetary.h>
|
||||
#include <stl/_time_facets.h>
|
||||
#include <stl/_messages_facets.h>
|
||||
|
||||
// some stuff for streambuf iterators ended up defined there
|
||||
// Strictly speaking, _istream.h portion is only required for <iterator>, but it may break too many
|
||||
// programs if we omit it
|
||||
#ifndef _STLP_ISTREAM_H
|
||||
# include <stl/_istream.h>
|
||||
#endif
|
||||
|
||||
// Convenience interfaces
|
||||
#undef isspace
|
||||
#undef isprint
|
||||
#undef iscntrl
|
||||
#undef isupper
|
||||
#undef islower
|
||||
#undef isalpha
|
||||
#undef isdigit
|
||||
#undef ispunct
|
||||
#undef isxdigit
|
||||
#undef isalnum
|
||||
#undef isgraph
|
||||
#undef toupper
|
||||
#undef tolower
|
||||
|
||||
_STLP_BEGIN_NAMESPACE
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isspace (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::space, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isprint (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::print, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool iscntrl (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::cntrl, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isupper (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::upper, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool islower (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::lower, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isalpha (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alpha, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isdigit (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::digit, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool ispunct (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::punct, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isxdigit (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::xdigit, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isalnum (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::alnum, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline bool isgraph (_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).is(ctype_base::graph, c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline _CharT toupper(_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).toupper(c);
|
||||
}
|
||||
|
||||
template <class _CharT>
|
||||
inline _CharT tolower(_CharT c, const locale& loc) {
|
||||
return (use_facet<ctype<_CharT> >(loc)).tolower(c);
|
||||
}
|
||||
|
||||
# ifndef __LOCALE_INITIALIZED
|
||||
# define __LOCALE_INITIALIZED
|
||||
// Global initializer object, to ensure initialization of locale subsystem.
|
||||
static ios_base::_Loc_init _LocInit;
|
||||
# endif
|
||||
|
||||
_STLP_END_NAMESPACE
|
||||
|
||||
# elif !defined (_STLP_USE_NO_IOSTREAMS)
|
||||
# include <wrap_std/locale>
|
||||
# endif
|
||||
|
||||
# if (_STLP_OUTERMOST_HEADER_ID == 0x1041)
|
||||
# include <stl/_epilog.h>
|
||||
# undef _STLP_OUTERMOST_HEADER_ID
|
||||
# endif
|
||||
|
||||
#endif /* _STLP_LOCALE */
|
||||
|
||||
|
||||
// Local Variables:
|
||||
// mode:C++
|
||||
// End:
|
||||
Reference in New Issue
Block a user