sl@0: /* sl@0: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: # ifndef LIBSTDCPPWSD_H sl@0: # define LIBSTDCPPWSD_H sl@0: sl@0: # include "stlport_prefix.h" sl@0: sl@0: #include "locale_impl.h" sl@0: #include sl@0: #include sl@0: #include "c_locale.h" sl@0: #include "aligned_buffer.h" sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include "message_facets.h" sl@0: sl@0: #include // C locale header file. sl@0: #include sl@0: #include sl@0: #include sl@0: #include "c_locale.h" sl@0: #include sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #include "complex_impl.h" sl@0: sl@0: #include sl@0: #include sl@0: # include "message_facets.h" sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #ifdef __WINSCW__ sl@0: extern void* GetGlobalTlsData(); sl@0: #endif sl@0: #if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_) sl@0: void* SetBackendHeap(); sl@0: void ReSetUserHeap(void* oldHeap); sl@0: #endif sl@0: sl@0: sl@0: _STLP_BEGIN_NAMESPACE sl@0: sl@0: #define MAX_LOCALE_CLASSIC_FACETS 128 sl@0: sl@0: //These are copied from locale_catalog.cpp sl@0: //Changing names to aviod compilation errors sl@0: struct __eqstr { sl@0: bool operator()(const char* s1, const char* s2) const sl@0: { return strcmp(s1, s2) == 0; } sl@0: }; sl@0: sl@0: class _Libcpp_wsd sl@0: { sl@0: public: sl@0: sl@0: //local_impl.cpp sl@0: _Messages Locale_impl_Null_messages; sl@0: sl@0: locale::facet* Locale_impl_S_classic_facets[MAX_LOCALE_CLASSIC_FACETS]; sl@0: sl@0: locale::id collate_char_id; sl@0: sl@0: locale::id ctype_char_id; sl@0: sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: locale::id codecvt_char_char_mbstate_id; sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: locale::id codecvt_wchar_char_mbstate_id; sl@0: # endif sl@0: # endif sl@0: sl@0: locale::id moneypunct_char_true_id; sl@0: sl@0: locale::id moneypunct_char_false_id; sl@0: sl@0: locale::id messages_char_id; sl@0: sl@0: locale::id numpunct_char_id; sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: locale::id collate_wchar_id; sl@0: sl@0: locale::id ctype_wchar_id; sl@0: sl@0: locale::id moneypunct_wchar_true_id; sl@0: sl@0: locale::id moneypunct_wchar_false_id; sl@0: sl@0: locale::id numpunct_wchar_id; sl@0: sl@0: locale::id messages_wchar_id; sl@0: sl@0: locale::id num_get_wchar_istreambuf_iterator_id; sl@0: sl@0: locale::id num_get_wchar_wchar_const_id; sl@0: sl@0: locale::id num_put_wchar_ostreambuf_iterator_id; sl@0: sl@0: locale::id num_put_wchar_wchar_id; sl@0: sl@0: locale::id time_get_wchar_istreambuf_iterator_id; sl@0: sl@0: locale::id time_get_wchar_wchar_const_id; sl@0: sl@0: locale::id time_put_wchar_ostreambuf_iterator_id; sl@0: sl@0: locale::id time_put_wchar_wchar_id; sl@0: sl@0: locale::id money_get_wchar_istreambuf_iterator_id; sl@0: sl@0: locale::id money_get_wchar_wchar_const_id; sl@0: sl@0: locale::id money_put_wchar_ostreambuf_iterator_id; sl@0: sl@0: locale::id money_put_wchar_wchar_id; sl@0: #endif sl@0: sl@0: locale::id time_get_char_istreambuf_iterator_id; sl@0: sl@0: locale::id time_get_char_char_const_id; sl@0: sl@0: locale::id time_put_char_ostreambuf_iterator_id; sl@0: sl@0: locale::id time_put_char_char_id; sl@0: sl@0: locale::id num_get_char_istreambuf_iterator_id; sl@0: sl@0: locale::id num_get_char_char_const_id; sl@0: sl@0: locale::id num_put_char_ostreambuf_iterator_id; sl@0: sl@0: locale::id num_put_char_char_id; sl@0: sl@0: locale::id num_put_char_back_insert_iterator_id; sl@0: sl@0: locale::id money_get_char_istreambuf_iterator_id; sl@0: sl@0: locale::id money_get_char_char_const_id; sl@0: sl@0: locale::id money_put_char_ostreambuf_iterator_id; sl@0: sl@0: locale::id money_put_char_char_id; sl@0: sl@0: _Stl_aligned_buffer<_Locale_impl> Locale_impl_S_classic_locale; sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_collate_char; sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_ctype_char; sl@0: sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: _Stl_aligned_buffer > Locale_impl_S_codecvt_char; sl@0: # endif sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_moneypunct_true_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_moneypunct_false_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_numpunct_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_messages_char; sl@0: sl@0: _Stl_aligned_buffer > > > Locale_impl_S_money_get_char; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_money_put_char; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_num_get_char; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_num_put_char; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_time_get_char; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_time_put_char; sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_money_get_char_const_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_money_put_char_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_num_get_char_const_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_num_put_char_char; sl@0: _Stl_aligned_buffer > > Locale_impl_S_num_put_char_back_insert_iterator; sl@0: _Stl_aligned_buffer > Locale_impl_S_time_get_char_const_char; sl@0: _Stl_aligned_buffer > Locale_impl_S_time_put_char_char; sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: _Stl_aligned_buffer > Locale_impl_S_collate_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_ctype_wchar; sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: _Stl_aligned_buffer > Locale_impl_S_codecvt_wchar; sl@0: # endif sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_moneypunct_true_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_moneypunct_false_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_numpunct_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_messages_wchar; sl@0: sl@0: _Stl_aligned_buffer > > > Locale_impl_S_money_get_wchar; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_money_put_wchar; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_num_get_wchar; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_num_put_wchar; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_time_get_wchar; sl@0: _Stl_aligned_buffer > > > Locale_impl_S_time_put_wchar; sl@0: sl@0: sl@0: _Stl_aligned_buffer > Locale_impl_S_money_get_wchar_const_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_money_put_wchar_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_num_get_wchar_const_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_num_put_wchar_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_time_get_wchar_const_wchar; sl@0: _Stl_aligned_buffer > Locale_impl_S_time_put_wchar_wchar; sl@0: #endif sl@0: sl@0: _Stl_aligned_buffer Locale_impl_S_b_classic; sl@0: sl@0: string locale_impl_nameless; sl@0: sl@0: //_locale.h sl@0: size_t locale_id_S_max; sl@0: sl@0: //locale_impl.h sl@0: _Locale_impl* Locale_impl_S_global_impl; sl@0: _STLP_STATIC_MUTEX Locale_impl_S_global_locale_lock; sl@0: sl@0: //_fstream.h sl@0: size_t fstream_Filebuf_base_M_page_size; sl@0: sl@0: //ios.cpp sl@0: _STLP_STATIC_MUTEX ios_xalloc_L; sl@0: long ios_iword_dummy; sl@0: void* ios_pword_dummy; sl@0: sl@0: //complex_exp.cpp sl@0: float complex_exp_float_ln10_inv; sl@0: double complex_exp_double_ln10_inv; sl@0: long double complex_exp_long_double_ln10_inv; sl@0: sl@0: //num_get.cpp sl@0: char num_get_narrow_digits[11]; sl@0: char num_get_narrow_xdigits[13]; sl@0: sl@0: //locale.cpp sl@0: _STLP_STATIC_MUTEX locale_Index_lock; sl@0: sl@0: //_ios_base.h sl@0: bool ios_base_S_was_synced; sl@0: int ios_base_S_index; sl@0: long ios_base_Init_S_count; //ios_base::Init class sl@0: long ios_base_Loc_init_S_count; //ios_base::_Loc_init class sl@0: ios_base::_Loc_init *_LocInit; sl@0: ios_base::Init *_IosInit; sl@0: sl@0: sl@0: //locale_catalog.cpp sl@0: hash_map, hash, __eqstr>* locale_catalog_ctype_hash; sl@0: hash_map, hash, __eqstr>* locale_catalog_numeric_hash; sl@0: hash_map, hash, __eqstr>* locale_catalog_time_hash; sl@0: hash_map, hash, __eqstr>* locale_catalog_collate_hash; sl@0: hash_map, hash, __eqstr>* locale_catalog_monetary_hash; sl@0: hash_map, hash, __eqstr>* locale_catalog_messages_hash; sl@0: _STLP_STATIC_MUTEX locale_catalog_category_hash_lock; sl@0: sl@0: //numpunct.cpp sl@0: string numpunct_char_m_truename; sl@0: string numpunct_char_m_falsename; sl@0: string numpunct_char_m_grouping; sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: wstring numpunct_wchar_m_truename; sl@0: wstring numpunct_wchar_m_falsename; sl@0: string numpunct_wchar_m_grouping; sl@0: # endif sl@0: sl@0: //iostream.cpp sl@0: istream* cin; sl@0: ostream* cout; sl@0: ostream* cerr; sl@0: ostream* clog; sl@0: sl@0: #ifndef _STLP_NO_WCHAR_T sl@0: wistream* wcin; sl@0: wostream* wcout; sl@0: wostream* wcerr; sl@0: wostream* wclog; sl@0: #endif sl@0: sl@0: //complex_trig.cpp sl@0: float complex_trig_float_limit; sl@0: double complex_trig_double_limit; sl@0: sl@0: //monetary.cpp sl@0: string monetary_S_empty_string; sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: wstring monetary_S_empty_wstring; sl@0: # endif //_STLP_NO_WCHAR_T sl@0: new_handler _new_handler; sl@0: //variable to check whether lib is initialized sl@0: bool is_Initialized; sl@0: //constructor sl@0: _Libcpp_wsd(); sl@0: sl@0: //destructor sl@0: ~_Libcpp_wsd(); sl@0: map ctype_charT_ids; //for ctype sl@0: map numpunct_charT_ids; //for numpunct sl@0: map moneypunct_charT_ids;//for moneypunct sl@0: sl@0: }; sl@0: #ifndef __WINSCW__ sl@0: extern _Libcpp_wsd* g_libcpp_wsd; sl@0: #endif sl@0: sl@0: sl@0: //return the global class pointer sl@0: inline _Libcpp_wsd& sl@0: get_libcpp_wsdptr() sl@0: { sl@0: //get the TLS pointer sl@0: #ifdef __WINSCW__ sl@0: void* oldHeap = SetBackendHeap(); sl@0: sl@0: _Libcpp_wsd* g_libcpp_wsd = (_Libcpp_wsd*)GetGlobalTlsData(); sl@0: #else sl@0: void* oldHeap = SetBackendHeap(); sl@0: if(g_libcpp_wsd == NULL) sl@0: { sl@0: g_libcpp_wsd = new _Libcpp_wsd(); sl@0: g_libcpp_wsd->is_Initialized = false; sl@0: } sl@0: #endif //__WINSCW__ sl@0: sl@0: if(g_libcpp_wsd->is_Initialized != true) sl@0: { sl@0: //this has to be here to avoid infinite recursion sl@0: g_libcpp_wsd->is_Initialized = true; sl@0: g_libcpp_wsd->_LocInit = new ios_base::_Loc_init(); sl@0: g_libcpp_wsd->_IosInit = new ios_base::Init(); sl@0: } sl@0: #if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_) sl@0: ReSetUserHeap(oldHeap); sl@0: #endif //__WINSCW__ sl@0: return (*g_libcpp_wsd); sl@0: } sl@0: sl@0: #define LIBCPP_WSD_PTR ( get_libcpp_wsdptr()) sl@0: sl@0: inline _Locale_impl*& sl@0: get_locale_impl_S_global_impl() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_global_impl; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MUTEX& sl@0: get_locale_impl_S_global_locale_lock() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_global_locale_lock; sl@0: } sl@0: sl@0: inline _Messages& sl@0: get_locale_impl_messages() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_Null_messages; sl@0: } sl@0: sl@0: inline locale::facet** sl@0: get_locale_impl_S_classic_facets() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_classic_facets; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: codecvt::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().codecvt_char_char_mbstate_id; sl@0: } sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: codecvt::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().codecvt_wchar_char_mbstate_id; sl@0: } sl@0: # endif//_STLP_NO_WCHAR_T sl@0: # endif//_STLP_NO_MBSTATE_T sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: collate::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().collate_char_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: ctype::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().ctype_char_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: moneypunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().moneypunct_char_true_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: moneypunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().moneypunct_char_false_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: messages::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().messages_char_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: numpunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_char_id; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: collate::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().collate_wchar_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: ctype::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().ctype_wchar_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: moneypunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().moneypunct_wchar_true_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: moneypunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().moneypunct_wchar_false_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: numpunct::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_wchar_id; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: messages::GetFacetLocaleId() sl@0: { sl@0: return get_libcpp_wsdptr().messages_wchar_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >* ) sl@0: { sl@0: return get_libcpp_wsdptr().num_get_wchar_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_get<_CharT, _InputIter>::GetFacetLocaleId(const wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().num_get_wchar_wchar_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator > *) sl@0: { sl@0: return get_libcpp_wsdptr().num_put_wchar_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId(wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().num_put_wchar_wchar_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().time_get_wchar_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_get<_CharT, _InputIter>::GetFacetLocaleId(const wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().time_get_wchar_wchar_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().time_put_wchar_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_put<_CharT, _OutputIter>::GetFacetLocaleId(wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().time_put_wchar_wchar_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().money_get_wchar_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_get<_CharT, _InputIter>::GetFacetLocaleId(const wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().money_get_wchar_wchar_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().money_put_wchar_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_put<_CharT, _OutputIter>::GetFacetLocaleId(wchar_t**) sl@0: { sl@0: return get_libcpp_wsdptr().money_put_wchar_wchar_id; sl@0: } sl@0: # endif //_STLP_NO_WCHAR_T sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_get<_CharT, _InputIter>::GetFacetLocaleId() sl@0: { sl@0: _InputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId() sl@0: { sl@0: _OutputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_get<_CharT, _InputIter>::GetFacetLocaleId() sl@0: { sl@0: _InputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_put<_CharT, _OutputIter>::GetFacetLocaleId() sl@0: { sl@0: _OutputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_get<_CharT, _InputIter>::GetFacetLocaleId() sl@0: { sl@0: _InputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_put<_CharT, _OutputIter>::GetFacetLocaleId() sl@0: { sl@0: _OutputIter* dummyPtr = NULL; sl@0: return GetFacetLocaleId(dummyPtr); sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().money_get_char_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_get<_CharT, _InputIter>::GetFacetLocaleId(const char **) sl@0: { sl@0: return get_libcpp_wsdptr().money_get_char_char_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().money_put_char_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: money_put<_CharT, _OutputIter>::GetFacetLocaleId(char**) sl@0: { sl@0: return get_libcpp_wsdptr().money_put_char_char_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >* ) sl@0: { sl@0: return get_libcpp_wsdptr().num_get_char_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_get<_CharT, _InputIter>::GetFacetLocaleId(const char**) sl@0: { sl@0: return get_libcpp_wsdptr().num_get_char_char_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator > *) sl@0: { sl@0: return get_libcpp_wsdptr().num_put_char_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId(char**) sl@0: { sl@0: return get_libcpp_wsdptr().num_put_char_char_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: num_put<_CharT, _OutputIter>::GetFacetLocaleId(back_insert_iterator *) sl@0: { sl@0: return get_libcpp_wsdptr().num_put_char_back_insert_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_get<_CharT, _InputIter>::GetFacetLocaleId(istreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().time_get_char_istreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_get<_CharT, _InputIter>::GetFacetLocaleId(const char**) sl@0: { sl@0: return get_libcpp_wsdptr().time_get_char_char_const_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_put<_CharT, _OutputIter>::GetFacetLocaleId(ostreambuf_iterator >*) sl@0: { sl@0: return get_libcpp_wsdptr().time_put_char_ostreambuf_iterator_id; sl@0: } sl@0: sl@0: template sl@0: _STLP_STATIC_MEMBER_EXP_DECLSPEC locale::id& sl@0: time_put<_CharT, _OutputIter>::GetFacetLocaleId(char**) sl@0: { sl@0: return get_libcpp_wsdptr().time_put_char_char_id; sl@0: } sl@0: sl@0: inline _STLP_EXP_DECLSPEC locale::id& sl@0: Ctype_charT_GetFacetLocaleId(const char* type) sl@0: { sl@0: if((get_libcpp_wsdptr().ctype_charT_ids).find(type)!= (get_libcpp_wsdptr().ctype_charT_ids).end()) sl@0: return (get_libcpp_wsdptr().ctype_charT_ids)[type]; sl@0: else sl@0: { sl@0: locale::id id; sl@0: id._M_index = (size_t)-1; sl@0: //(get_libcpp_wsdptr().ctype_charT_ids)[type] = id; sl@0: memmove((void*)&get_libcpp_wsdptr().ctype_charT_ids[type],&id, sizeof(id)); sl@0: sl@0: return (get_libcpp_wsdptr().ctype_charT_ids)[type]; sl@0: } sl@0: } sl@0: sl@0: inline _STLP_EXP_DECLSPEC locale::id& sl@0: Numpunct_charT_GetFacetLocaleId(const char* type) sl@0: { sl@0: if((get_libcpp_wsdptr().numpunct_charT_ids).find(type)!= (get_libcpp_wsdptr().numpunct_charT_ids).end()) sl@0: return (get_libcpp_wsdptr().numpunct_charT_ids)[type]; sl@0: else sl@0: { sl@0: locale::id id; sl@0: id._M_index = (size_t)-1; sl@0: //(get_libcpp_wsdptr().numpunct_charT_ids)[type] = id; sl@0: memmove((void*)&get_libcpp_wsdptr().numpunct_charT_ids[type],&id, sizeof(id)); sl@0: sl@0: return (get_libcpp_wsdptr().numpunct_charT_ids)[type]; sl@0: } sl@0: } sl@0: inline _STLP_EXP_DECLSPEC locale::id& sl@0: Moneypunct_charT_GetFacetLocaleId(const char* type) sl@0: { sl@0: if((get_libcpp_wsdptr().moneypunct_charT_ids).find(type)!= (get_libcpp_wsdptr().moneypunct_charT_ids).end()) sl@0: return (get_libcpp_wsdptr().moneypunct_charT_ids)[type]; sl@0: else sl@0: { sl@0: locale::id id; sl@0: id._M_index = (size_t)-1; sl@0: //(get_libcpp_wsdptr().moneypunct_charT_ids)[type] = id; sl@0: memmove((void*)&get_libcpp_wsdptr().moneypunct_charT_ids[type],&id, sizeof(id)); sl@0: return (get_libcpp_wsdptr().moneypunct_charT_ids)[type]; sl@0: } sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer<_Locale_impl>& sl@0: get_locale_impl_S_classic_locale() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_classic_locale; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_collate_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_collate_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_ctype_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_ctype_char; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_codecvt_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_codecvt_char; sl@0: } sl@0: # endif sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_moneypunct_true_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_moneypunct_true_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_moneypunct_false_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_moneypunct_false_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_numpunct_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_numpunct_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_messages_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_messages_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_money_get_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_get_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_money_put_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_put_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_num_get_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_get_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_num_put_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_put_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_time_get_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_get_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_time_put_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_put_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_money_get_char_const_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_get_char_const_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_money_put_char_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_put_char_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_num_get_char_const_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_get_char_const_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_num_put_char_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_put_char_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > >& sl@0: get_locale_impl_S_num_put_char_back_insert_iterator() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_put_char_back_insert_iterator; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_time_get_char_const_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_get_char_const_char; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_time_put_char_char() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_put_char_char; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_collate_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_collate_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_ctype_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_ctype_wchar; sl@0: } sl@0: # ifndef _STLP_NO_MBSTATE_T sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_codecvt_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_codecvt_wchar; sl@0: } sl@0: # endif //!_STLP_NO_MBSTATE_T sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_moneypunct_true_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_moneypunct_true_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_moneypunct_false_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_moneypunct_false_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_numpunct_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_numpunct_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_messages_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_messages_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_money_get_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_get_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_money_put_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_put_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_num_get_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_get_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_num_put_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_put_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_time_get_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_get_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer > > >& sl@0: get_locale_impl_S_time_put_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_put_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_money_get_wchar_const_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_get_wchar_const_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_money_put_wchar_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_money_put_wchar_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_num_get_wchar_const_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_get_wchar_const_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_num_put_wchar_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_num_put_wchar_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_time_get_wchar_const_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_get_wchar_const_wchar; sl@0: } sl@0: sl@0: inline _Stl_aligned_buffer >& sl@0: get_locale_impl_S_time_put_wchar_wchar() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_time_put_wchar_wchar; sl@0: } sl@0: # endif //!_STLP_NO_WCHAR_T sl@0: sl@0: inline _Stl_aligned_buffer& sl@0: get_locale_impl_S_b_classic() sl@0: { sl@0: return get_libcpp_wsdptr().Locale_impl_S_b_classic; sl@0: } sl@0: sl@0: //_locale.h sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC size_t& sl@0: get_locale_id_S_max() sl@0: { sl@0: return get_libcpp_wsdptr().locale_id_S_max; sl@0: } sl@0: sl@0: //_fstream.h sl@0: inline _STLP_EXPORT_DECLSPEC size_t& sl@0: get_fstream_Filebuf_Base_GetPageSize() sl@0: { sl@0: return get_libcpp_wsdptr().fstream_Filebuf_base_M_page_size; sl@0: } sl@0: sl@0: //ios.cpp sl@0: inline _STLP_STATIC_MUTEX& sl@0: get_ios_xalloc_L() sl@0: { sl@0: return get_libcpp_wsdptr().ios_xalloc_L; sl@0: } sl@0: sl@0: inline long& sl@0: get_ios_iword_dummy() sl@0: { sl@0: return get_libcpp_wsdptr().ios_iword_dummy; sl@0: } sl@0: sl@0: inline void*& sl@0: get_ios_pword_dummy() sl@0: { sl@0: return get_libcpp_wsdptr().ios_pword_dummy; sl@0: } sl@0: sl@0: //complex_exp.cpp sl@0: inline float& sl@0: get_complex_exp_float_ln10_inv() sl@0: { sl@0: return get_libcpp_wsdptr().complex_exp_float_ln10_inv; sl@0: } sl@0: sl@0: inline double& sl@0: get_complex_exp_double_ln10_inv() sl@0: { sl@0: return get_libcpp_wsdptr().complex_exp_double_ln10_inv; sl@0: } sl@0: sl@0: inline long double& sl@0: get_complex_exp_long_double_ln10_inv() sl@0: { sl@0: return get_libcpp_wsdptr().complex_exp_long_double_ln10_inv; sl@0: } sl@0: sl@0: //num_get.cpp sl@0: inline char* sl@0: get_num_get_narrow_digits() sl@0: { sl@0: return get_libcpp_wsdptr().num_get_narrow_digits; sl@0: } sl@0: sl@0: inline char* sl@0: get_num_get_narrow_xdigits() sl@0: { sl@0: return get_libcpp_wsdptr().num_get_narrow_xdigits; sl@0: } sl@0: sl@0: //locale.cpp sl@0: inline _STLP_STATIC_MUTEX& sl@0: get_locale_Index_lock() sl@0: { sl@0: return get_libcpp_wsdptr().locale_Index_lock; sl@0: } sl@0: sl@0: //_ios_base.h sl@0: inline bool& sl@0: get_ios_base_S_was_synced() sl@0: { sl@0: return get_libcpp_wsdptr().ios_base_S_was_synced; sl@0: } sl@0: sl@0: inline int& sl@0: get_ios_base_S_index() sl@0: { sl@0: return get_libcpp_wsdptr().ios_base_S_index; sl@0: } sl@0: sl@0: inline long& sl@0: get_ios_base_Init_S_count() sl@0: { sl@0: return get_libcpp_wsdptr().ios_base_Init_S_count; sl@0: } sl@0: sl@0: inline long& sl@0: get_ios_base_Loc_init_S_count() sl@0: { sl@0: return get_libcpp_wsdptr().ios_base_Loc_init_S_count; sl@0: } sl@0: sl@0: //locale_catalog.cpp sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_ctype_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_ctype_hash; sl@0: } sl@0: sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_numeric_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_numeric_hash; sl@0: } sl@0: sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_time_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_time_hash; sl@0: } sl@0: sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_collate_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_collate_hash; sl@0: } sl@0: sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_monetary_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_monetary_hash; sl@0: } sl@0: sl@0: inline hash_map, hash, __eqstr>*& sl@0: get_locale_catalog_messages_hash() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_messages_hash; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MUTEX& sl@0: get_locale_catalog_category_hash_lock() sl@0: { sl@0: return get_libcpp_wsdptr().locale_catalog_category_hash_lock; sl@0: } sl@0: sl@0: //numpunct.cpp sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC string& sl@0: numpunct::GetNumPunct_M_truename() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_char_m_truename; sl@0: } sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC string& sl@0: numpunct::GetNumPunct_M_falsename() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_char_m_falsename; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC string& sl@0: numpunct::GetNumPunct_M_grouping() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_char_m_grouping; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC wstring& sl@0: numpunct::GetNumPunct_M_Wchar_truename() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_wchar_m_truename; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC wstring& sl@0: numpunct::GetNumPunct_M_Wchar_falsename() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_wchar_m_falsename; sl@0: } sl@0: sl@0: inline _STLP_STATIC_MEMBER_EXP_DECLSPEC string& sl@0: numpunct::GetNumPunct_M_Wchar_grouping() sl@0: { sl@0: return get_libcpp_wsdptr().numpunct_wchar_m_grouping; sl@0: } sl@0: # endif sl@0: //iostream.cpp sl@0: inline ostream*& sl@0: getCErrStream() sl@0: { sl@0: return get_libcpp_wsdptr().cerr; sl@0: } sl@0: sl@0: inline ostream*& sl@0: getCoutStream() sl@0: { sl@0: return get_libcpp_wsdptr().cout; sl@0: } sl@0: sl@0: inline ostream*& sl@0: getClogStream() sl@0: { sl@0: return get_libcpp_wsdptr().clog; sl@0: } sl@0: sl@0: inline istream*& sl@0: getCinStream() sl@0: { sl@0: return get_libcpp_wsdptr().cin; sl@0: } sl@0: sl@0: #ifndef _STLP_NO_WCHAR_T sl@0: inline wostream*& sl@0: getWCErrStream() sl@0: { sl@0: return get_libcpp_wsdptr().wcerr; sl@0: } sl@0: sl@0: inline wostream*& sl@0: getWCoutStream() sl@0: { sl@0: return get_libcpp_wsdptr().wcout; sl@0: } sl@0: sl@0: inline wostream*& sl@0: getWClogStream() sl@0: { sl@0: return get_libcpp_wsdptr().wclog; sl@0: } sl@0: sl@0: inline wistream*& sl@0: getWCinStream() sl@0: { sl@0: return get_libcpp_wsdptr().wcin; sl@0: } sl@0: #endif //_STLP_NO_WCHAR_T sl@0: //complex_trig.cpp sl@0: inline float& sl@0: get_complex_trig_float_limit() sl@0: { sl@0: return get_libcpp_wsdptr().complex_trig_float_limit; sl@0: } sl@0: sl@0: inline double& sl@0: get_complex_trig_double_limit() sl@0: { sl@0: return get_libcpp_wsdptr().complex_trig_double_limit; sl@0: } sl@0: sl@0: //locale_impl.cpp sl@0: inline string& sl@0: get_locale_impl_nameless() sl@0: { sl@0: return get_libcpp_wsdptr().locale_impl_nameless; sl@0: } sl@0: sl@0: //monetary.cpp sl@0: inline string& sl@0: get_monetary_S_empty_string() sl@0: { sl@0: return get_libcpp_wsdptr().monetary_S_empty_string; sl@0: } sl@0: sl@0: # ifndef _STLP_NO_WCHAR_T sl@0: inline wstring& sl@0: get_monetary_S_empty_wstring() sl@0: { sl@0: return get_libcpp_wsdptr().monetary_S_empty_wstring; sl@0: } sl@0: #endif //_STLP_NO_WCHAR_T sl@0: inline new_handler& get_new_handler() sl@0: { sl@0: return get_libcpp_wsdptr()._new_handler; sl@0: } sl@0: sl@0: _STLP_END_NAMESPACE sl@0: # endif //LIBSTDCPPWSD_H