diff options
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/pod_char_traits.h | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6510aa0f7b0..cf0e5e3a195 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,9 @@ 2003-07-16 Benjamin Kosnik <bkoz@redhat.com> + * include/ext/pod_char_traits.h: Add state template argument. + +2003-07-16 Benjamin Kosnik <bkoz@redhat.com> + * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX. (num_get::_M_convert_int): To _M_insert_int. (num_get::_M_convert_float): To _M_insert_float. diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h index 0145a483095..04bc0ddb52b 100644 --- a/libstdc++-v3/include/ext/pod_char_traits.h +++ b/libstdc++-v3/include/ext/pod_char_traits.h @@ -37,11 +37,12 @@ namespace __gnu_cxx { - template<typename V, typename I> + template<typename V, typename I, typename S = mbstate_t> struct character { typedef V value_type; typedef I int_type; + typedef S state_type; value_type value; }; @@ -59,19 +60,18 @@ namespace __gnu_cxx namespace std { // Provide std::char_traits specialization. - template<typename V, typename I> - struct char_traits<__gnu_cxx::character<V, I> > + template<typename V, typename I, typename S> + struct char_traits<__gnu_cxx::character<V, I, S> > { - typedef __gnu_cxx::character<V, I> char_type; + typedef __gnu_cxx::character<V, I, S> char_type; // NB: This type should be bigger than char_type, so as to // properly hold EOF values in addition to the full range of // char_type values. typedef typename char_type::int_type int_type; - + typedef typename char_type::state_type state_type; typedef streampos pos_type; typedef streamoff off_type; - typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) |