23#ifndef _STLP_INTERNAL_LOCALE_H
24#define _STLP_INTERNAL_LOCALE_H
26#ifndef _STLP_INTERNAL_CSTDLIB
30#ifndef _STLP_INTERNAL_CWCHAR
34#ifndef _STLP_INTERNAL_THREADS_H
38#ifndef _STLP_STRING_FWD_H
49template <
class _CharT,
class _Traits,
class _Alloc>
59template <
class _Facet>
62template <
class _Facet>
65template <
class _Facet>
70#if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) || \
71 defined (_STLP_SIGNAL_RUNTIME_COMPATIBILITY) || defined (_STLP_CHECK_RUNTIME_COMPATIBILITY)
72# define locale _STLP_NO_MEM_T_NAME(loc)
96#if defined (__MVS__) || defined (__OS400__)
123#if defined (_STLP_MEMBER_TEMPLATES) && !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
124 template <
class _Facet>
143#if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
149#if defined (_STLP_MEMBER_TEMPLATES) && !defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) && \
150 !defined(_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
151 template <
class _Facet>
155 _M_throw_on_combine_error(__loc.
name());
167#if !defined (_STLP_MEMBER_TEMPLATES) || defined (_STLP_INLINE_MEMBER_TEMPLATES) || (defined(__MWERKS__) && __MWERKS__ <= 0x2301)
168 bool operator()(
const string& __x,
const string& __y)
const;
169# ifndef _STLP_NO_WCHAR_T
170 bool operator()(
const wstring& __x,
const wstring& __y)
const;
172#elif !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
173 template <
class _CharT,
class _Traits,
class _Alloc>
180#if !defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND)
188 facet* _M_get_facet(
const id&)
const;
190 facet* _M_use_facet(
const id&)
const;
194 const char*
name,
const char* facet);
197 void _M_insert(facet* __f,
id& __id);
207#if defined (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND) || \
208 defined (_STLP_SIGNAL_RUNTIME_COMPATIBILITY) || defined (_STLP_CHECK_RUNTIME_COMPATIBILITY)
210# define _Locale _STLP_NO_MEM_T_NAME(loc)
217#if defined (_STLP_CHECK_RUNTIME_COMPATIBILITY)
218 _STLP_CHECK_RUNTIME_COMPATIBILITY();
224 :
_Locale(__loc, __str, __cat) {}
226 template <
class _Facet>
242 :
_Locale(__loc1, __loc2, __cat) {}
245 _Locale::operator=(__loc);
249 template <
class _Facet>
259 bool operator==(
const locale& __loc)
const {
return _Locale::operator==(__loc); }
260 bool operator!=(
const locale& __loc)
const {
return _Locale::operator!=(__loc); }
262 template <
class _CharT,
class _Traits,
class _Alloc>
269 return _Locale::global(__loc);
285template <
class _Facet>
287#ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
288_Use_facet<_Facet>::operator *()
const
297template <
class _Facet>
298#ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
311#ifdef _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
323template <
class _Facet>
325{
return _Facet::id; }
334#ifndef _STLP_NO_WCHAR_T
343template <
class _Facet>
347template <
class _Facet>
351template <
class _Facet>
bool _STLP_CALL operator!=(const allocator< _T1 > &, const allocator< _T2 > &) _STLP_NOTHROW
bool __locale_do_operator_call(const locale &__loc, const basic_string< _CharT, _Traits, _Alloc > &__x, const basic_string< _CharT, _Traits, _Alloc > &__y)
bool __locale_do_operator_call(const locale &__loc, const basic_string< _CharT, _Traits, _Alloc > &__x, const basic_string< _CharT, _Traits, _Alloc > &__y)
const _Facet & use_facet(const locale &__loc)
void _InsertFacet(locale &__loc, _Facet *__facet)
_STLP_MOVE_TO_PRIV_NAMESPACE locale::id & _GetFacetId(const _Facet *)
_STLP_DECLSPEC _Locale_impl *_STLP_CALL _get_Locale_impl(_Locale_impl *locimpl)
bool has_facet(const locale &__loc) _STLP_NOTHROW
_STLP_DECLSPEC _Locale_impl *_STLP_CALL _copy_Nameless_Locale_impl(_Locale_impl *locimpl)
_STLP_MOVE_TO_PRIV_NAMESPACE bool _HasFacet(const locale &__loc, const _Facet *__facet) _STLP_NOTHROW
_Facet * _UseFacet(const locale &__loc, const _Facet *__facet)
facet(size_t __init_count=0)
void operator=(const facet &)
bool operator!=(const locale &) const
_STLP_STATIC_CONSTANT(category, numeric=0x100)
facet * _M_use_facet(const id &) const
_Locale_impl * _M_get_impl() const
void _M_insert(facet *__f, id &__id)
bool operator()(const string &__x, const string &__y) const
_STLP_STATIC_CONSTANT(category, all=collate|ctype|monetary|numeric|time|messages)
_STLP_STATIC_CONSTANT(category, time=0x200)
facet * _M_get_facet(const id &) const
bool operator==(const locale &) const
_STLP_STATIC_CONSTANT(category, none=0x000)
const locale & operator=(const locale &) _STLP_NOTHROW
_STLP_STATIC_CONSTANT(category, ctype=0x020)
_STLP_STATIC_CONSTANT(category, collate=0x010)
static void _STLP_FUNCTION_THROWS _STLP_CALL _M_throw_on_combine_error(const string &name)
static const locale &_STLP_CALL classic()
_STLP_STATIC_CONSTANT(category, messages=0x400)
_STLP_STATIC_CONSTANT(category, monetary=0x040)
#define _STLP_FUNCTION_THROWS
#define _STLP_MOVE_TO_STD_NAMESPACE
#define __STATIC_CAST(__x, __y)
#define _STLP_CLASS_DECLSPEC
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE
void _STLP_CALL _release_facet(locale::facet *&f)
locale::facet *_STLP_CALL _get_facet(locale::facet *f)
_In_ size_t _In_z_ _Printf_format_string_ const char _In_ const struct tm _In_opt_ _locale_t _Locale
bool operator==(const TKeyDef &t1, const TKeyDef &t2)