38 _GLIBCXX_BEGIN_NAMESPACE(
std)
40 template<typename _CharT>
41 __timepunct<_CharT>::__timepunct(
size_t __refs)
42 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
43 _M_name_timepunct(_S_get_c_name())
44 { _M_initialize_timepunct(); }
46 template<
typename _CharT>
47 __timepunct<_CharT>::__timepunct(__cache_type* __cache,
size_t __refs)
48 : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
49 _M_name_timepunct(_S_get_c_name())
50 { _M_initialize_timepunct(); }
52 template<
typename _CharT>
53 __timepunct<_CharT>::__timepunct(__c_locale __cloc,
const char* __s,
55 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
56 _M_name_timepunct(NULL)
58 if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
60 const size_t __len = __builtin_strlen(__s) + 1;
61 char* __tmp =
new char[__len];
62 __builtin_memcpy(__tmp, __s, __len);
63 _M_name_timepunct = __tmp;
66 _M_name_timepunct = _S_get_c_name();
69 { _M_initialize_timepunct(__cloc); }
72 if (_M_name_timepunct != _S_get_c_name())
73 delete [] _M_name_timepunct;
74 __throw_exception_again;
78 template<
typename _CharT>
79 __timepunct<_CharT>::~__timepunct()
81 if (_M_name_timepunct != _S_get_c_name())
82 delete [] _M_name_timepunct;
84 _S_destroy_c_locale(_M_c_locale_timepunct);
87 _GLIBCXX_END_NAMESPACE
ISO C++ entities toplevel namespace is std.