summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/testsuite_hooks.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/testsuite_hooks.cc')
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.cc153
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