numpunct_byname<char>::numpunct_byname(const char* name, size_t refs) : numpunct<char>(refs), _M_numeric(__acquire_numeric(name)) { if (!_M_numeric) locale::_M_throw_runtime_error(); _M_truename = _Locale_true(_M_numeric); _M_falsename = _Locale_false(_M_numeric); }
numpunct_byname<wchar_t>::numpunct_byname(const char* name, size_t refs) : numpunct<wchar_t>(refs) { if (!name) locale::_M_throw_on_null_name(); int __err_code; char buf[_Locale_MAX_SIMPLE_NAME]; _M_numeric = _STLP_PRIV __acquire_numeric(name, buf, 0, &__err_code); if (!_M_numeric) locale::_M_throw_on_creation_failure(__err_code, name, "numpunct"); }
numpunct_byname<wchar_t>::numpunct_byname(const char* name, size_t refs, _Locale_name_hint* hint) : numpunct<wchar_t>(refs), _M_numeric(_STLP_PRIV __acquire_numeric(name, hint)) { if (!_M_numeric) locale::_M_throw_runtime_error(); const char* truename = _Locale_true(_M_numeric); const char* falsename = _Locale_false(_M_numeric); _M_truename.resize(strlen(truename)); _M_falsename.resize(strlen(falsename)); copy(truename, truename + strlen(truename), _M_truename.begin()); copy(falsename, falsename + strlen(falsename), _M_falsename.begin()); }
_STLP_END_NAMESPACE #endif /* MBSTATE_T */ _STLP_BEGIN_NAMESPACE // numpunct_byname<char> numpunct_byname<char>::numpunct_byname(const char* name, size_t refs, _Locale_name_hint* hint) : numpunct<char>(refs), _M_numeric(_STLP_PRIV __acquire_numeric(name, hint)) { if (!_M_numeric) locale::_M_throw_runtime_error(); _M_truename = _Locale_true(_M_numeric); _M_falsename = _Locale_false(_M_numeric); }