diff options
Diffstat (limited to 'libstdc++-v3/testsuite/testsuite_hooks.cc')
-rw-r--r-- | libstdc++-v3/testsuite/testsuite_hooks.cc | 153 |
1 files changed, 1 insertions, 152 deletions
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc index 8048738c028..e8618fb71df 100644 --- a/libstdc++-v3/testsuite/testsuite_hooks.cc +++ b/libstdc++-v3/testsuite/testsuite_hooks.cc @@ -1,4 +1,5 @@ // -*- C++ -*- + // Utility subroutines for the C++ library testsuite. // // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. @@ -332,155 +333,3 @@ namespace __gnu_test #endif } }; // namespace __gnu_test - -namespace std -{ - // Member specializations for the existing facet classes. - // NB: This isn't especially portable. Perhaps a better way would be - // to just specialize all of numpunct and ctype. - using __gnu_test::int_type; - using __gnu_test::value_type; - using __gnu_test::pod_type; - - template<> - bool - ctype<pod_type>:: - do_is(mask, char_type) const { return true; } - - template<> - const pod_type* - ctype<pod_type>:: - do_is(const char_type* __lo, const char_type*, mask*) const - { return __lo; } - - template<> - const pod_type* - ctype<pod_type>:: - do_scan_is(mask, const char_type* __lo, const char_type*) const - { return __lo; } - - template<> - const pod_type* - ctype<pod_type>:: - do_scan_not(mask, const char_type* __lo, const char_type*) const - { return __lo; } - - template<> - pod_type - ctype<pod_type>:: - do_toupper(char_type __c) const - { return __c; } - - template<> - const pod_type* - ctype<pod_type>:: - do_toupper(char_type*, const char_type* __hi) const - { return __hi; } - - template<> - pod_type - ctype<pod_type>:: - do_tolower(char_type __c) const - { return __c; } - - template<> - const pod_type* - ctype<pod_type>:: - do_tolower(char_type*, const char_type* __hi) const - { return __hi; } - - template<> - pod_type - ctype<pod_type>:: - do_widen(char __c) const - { - char_type ret = { value_type(__c) }; - return ret; - } - - template<> - const char* - ctype<pod_type>:: - do_widen(const char* __lo, const char* __hi, char_type* __dest) const - { - while (__lo < __hi) - { - *__dest = this->do_widen(*__lo); - ++__lo; - ++__dest; - } - return __hi; - } - - template<> - char - ctype<pod_type>:: - do_narrow(char_type __wc, char) const - { return static_cast<char>(__wc.value); } - - template<> - const pod_type* - ctype<pod_type>:: - do_narrow(const pod_type* __lo, const pod_type* __hi, - char, char* __dest) const - { - while (__lo < __hi) - { - *__dest = this->do_narrow(*__lo, char()); - ++__lo; - ++__dest; - } - return __hi; - } - - template<> - ctype<pod_type>::~ctype() { } - - template<> - void - numpunct<pod_type>::_M_initialize_numpunct(__c_locale) - { - if (!_M_data) - _M_data = new __numpunct_cache<pod_type>; - - _M_data->_M_grouping = ""; - _M_data->_M_use_grouping = false; - - _M_data->_M_decimal_point.value = value_type('.'); - _M_data->_M_thousands_sep.value = value_type(','); - - for (size_t i = 0; i < __num_base::_S_oend; ++i) - { - value_type v = __num_base::_S_atoms_out[i]; - _M_data->_M_atoms_out[i].value = v; - } - _M_data->_M_atoms_out[__num_base::_S_oend] = pod_type(); - - for (size_t j = 0; j < __num_base::_S_iend; ++j) - _M_data->_M_atoms_in[j].value = value_type(__num_base::_S_atoms_in[j]); - _M_data->_M_atoms_in[__num_base::_S_iend] = pod_type(); - - // "true" - pod_type* __truename = new pod_type[4 + 1]; - __truename[0].value = value_type('t'); - __truename[1].value = value_type('r'); - __truename[2].value = value_type('u'); - __truename[3].value = value_type('e'); - __truename[4] = pod_type(); - _M_data->_M_truename = __truename; - - // "false" - pod_type* __falsename = new pod_type[5 + 1]; - __falsename[0].value = value_type('f'); - __falsename[1].value = value_type('a'); - __falsename[2].value = value_type('l'); - __falsename[3].value = value_type('s'); - __falsename[4].value = value_type('e'); - __falsename[5] = pod_type(); - _M_data->_M_falsename = __falsename; - } - - template<> - numpunct<pod_type>::~numpunct() - { delete _M_data; } -} // namespace std |