00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 template<typename _CharT>
00038 messages<_CharT>::messages(size_t __refs)
00039 : facet(__refs)
00040 { _M_c_locale_messages = _S_get_c_locale(); }
00041
00042 template<typename _CharT>
00043 messages<_CharT>::messages(__c_locale, const char*, size_t __refs)
00044 : facet(__refs)
00045 { _M_c_locale_messages = _S_get_c_locale(); }
00046
00047 template<typename _CharT>
00048 typename messages<_CharT>::catalog
00049 messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
00050 const char*) const
00051 { return this->do_open(__s, __loc); }
00052
00053
00054 template<typename _CharT>
00055 messages<_CharT>::~messages()
00056 { _S_destroy_c_locale(_M_c_locale_messages); }
00057
00058 template<typename _CharT>
00059 typename messages<_CharT>::catalog
00060 messages<_CharT>::do_open(const basic_string<char>&, const locale&) const
00061 { return 0; }
00062
00063 template<typename _CharT>
00064 typename messages<_CharT>::string_type
00065 messages<_CharT>::do_get(catalog, int, int,
00066 const string_type& __dfault) const
00067 { return __dfault; }
00068
00069 template<typename _CharT>
00070 void
00071 messages<_CharT>::do_close(catalog) const
00072 { }
00073
00074
00075 template<typename _CharT>
00076 messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
00077 : messages<_CharT>(__refs)
00078 {
00079 if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
00080 {
00081 this->_S_destroy_c_locale(this->_M_c_locale_messages);
00082 this->_S_create_c_locale(this->_M_c_locale_messages, __s);
00083 }
00084 }