37 namespace std _GLIBCXX_VISIBILITY(default)
39 _GLIBCXX_BEGIN_NAMESPACE_VERSION
41 template<
typename _CharT>
42 __timepunct<_CharT>::__timepunct(
size_t __refs)
43 : facet(__refs), _M_data(0)
45 _M_name_timepunct = _S_get_c_name();
46 _M_initialize_timepunct();
49 template<
typename _CharT>
50 __timepunct<_CharT>::__timepunct(__cache_type* __cache,
size_t __refs)
51 : facet(__refs), _M_data(__cache)
53 _M_name_timepunct = _S_get_c_name();
54 _M_initialize_timepunct();
57 template<
typename _CharT>
58 __timepunct<_CharT>::__timepunct(__c_locale __cloc,
const char* __s,
60 : facet(__refs), _M_data(0)
62 if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
64 const size_t __len = __builtin_strlen(__s) + 1;
65 char* __tmp =
new char[__len];
66 __builtin_memcpy(__tmp, __s, __len);
67 _M_name_timepunct = __tmp;
70 _M_name_timepunct = _S_get_c_name();
73 { _M_initialize_timepunct(__cloc); }
76 if (_M_name_timepunct != _S_get_c_name())
77 delete [] _M_name_timepunct;
78 __throw_exception_again;
82 template<
typename _CharT>
83 __timepunct<_CharT>::~__timepunct()
85 if (_M_name_timepunct != _S_get_c_name())
86 delete [] _M_name_timepunct;
88 _S_destroy_c_locale(_M_c_locale_timepunct);
91 _GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.