+2003-08-11 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
+ typedefs to num_*.
+ * include/bits/basic_ios.tcc: Same.
+ * include/bits/istream.tcc: Same.
+ * include/bits/locale_facets.h: Same.
+ * include/bits/ostream.tcc: Same.
+ * include/std/std_istream.h: Same.
+ * include/std/std_ostream.h: Same.
+ * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
+
+ * include/ext/rope: Remove build warning.
+
2003-08-11 Andreas Jaeger <aj@suse.de>
* include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
* @endif
*/
typedef ctype<_CharT> __ctype_type;
- typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter;
- typedef num_put<_CharT, __ostreambuf_iter> __numput_type;
- typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter;
- typedef num_get<_CharT, __istreambuf_iter> __numget_type;
+ typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
+ __num_put_type;
+ typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
+ __num_get_type;
//@}
// Data members:
// Cached use_facet<ctype>, which is based on the current locale info.
const __ctype_type* _M_ctype;
// For ostream.
- const __numput_type* _M_num_put;
+ const __num_put_type* _M_num_put;
// For istream.
- const __numget_type* _M_num_get;
+ const __num_get_type* _M_num_get;
public:
//@{
{
if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
_M_ctype = &use_facet<__ctype_type>(__loc);
- if (__builtin_expect(has_facet<__numput_type>(__loc), true))
- _M_num_put = &use_facet<__numput_type>(__loc);
- if (__builtin_expect(has_facet<__numget_type>(__loc), true))
- _M_num_get = &use_facet<__numget_type>(__loc);
+ if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
+ _M_num_put = &use_facet<__num_put_type>(__loc);
+ if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
+ _M_num_get = &use_facet<__num_get_type>(__loc);
}
// Inhibit implicit instantiations for required instantiations,
__streambuf_type* __sb = __in.rdbuf();
__int_type __c = __sb->sgetc();
- __check_facet(__in._M_ctype);
+ const __ctype_type& __ct = __check_facet(__in._M_ctype);
while (!traits_type::eq_int_type(__c, __eof)
- && __in._M_ctype->is(ctype_base::space,
- traits_type::to_char_type(__c)))
+ && __ct.is(ctype_base::space,
+ traits_type::to_char_type(__c)))
__c = __sb->snextc();
#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
{
try
{
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
long __l;
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __l);
+ ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __l);
#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS
// 118. basic_istream uses nonexistent num_get member functions.
if (!(__err & ios_base::failbit)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
{
try
{
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
long __l;
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __l);
+ ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __l);
#ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS
// 118. basic_istream uses nonexistent num_get member functions.
if (!(__err & ios_base::failbit)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __check_facet(this->_M_num_get).get(*this, 0, *this, __err, __n);
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(...)
if (__num <= 0)
__num = numeric_limits<streamsize>::max();
- const __ctype_type& __ctype = use_facet<__ctype_type>(__in.getloc());
+ const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
+
const int_type __eof = _Traits::eof();
__streambuf_type* __sb = __in.rdbuf();
int_type __c = __sb->sgetc();
while (__extracted < __num - 1
&& !_Traits::eq_int_type(__c, __eof)
- && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
+ && !__ct.is(ctype_base::space,
+ _Traits::to_char_type(__c)))
{
*__s++ = _Traits::to_char_type(__c);
++__extracted;
typedef typename __istream_type::__ctype_type __ctype_type;
typedef typename __istream_type::int_type __int_type;
- const __ctype_type& __ctype = use_facet<__ctype_type>(__in.getloc());
+ const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
const __int_type __eof = _Traits::eof();
__streambuf_type* __sb = __in.rdbuf();
__int_type __c = __sb->sgetc();
while (!_Traits::eq_int_type(__c, __eof)
- && __ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
+ && __ct.is(ctype_base::space, _Traits::to_char_type(__c)))
__c = __sb->snextc();
if (_Traits::eq_int_type(__c, __eof))
__size_type __n;
__n = __w > 0 ? static_cast<__size_type>(__w) : __str.max_size();
- const __ctype_type& __ctype = use_facet<__ctype_type>(__in.getloc());
+ const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
const __int_type __eof = _Traits::eof();
__streambuf_type* __sb = __in.rdbuf();
__int_type __c = __sb->sgetc();
while (__extracted < __n
&& !_Traits::eq_int_type(__c, __eof)
- && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c)))
+ && !__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
{
__str += _Traits::to_char_type(__c);
++__extracted;
const __int_type __eof = _Traits::eof();
__testdelim = _Traits::eq_int_type(__c, __idelim);
- while (__extracted <= __n
- && !_Traits::eq_int_type(__c, __eof)
+ while (__extracted <= __n && !_Traits::eq_int_type(__c, __eof)
&& !__testdelim)
{
__str += _Traits::to_char_type(__c);
template<typename _CharT, typename _InIter>
locale::id num_get<_CharT, _InIter>::id;
-#if 0
- // Partial specialization for istreambuf_iterator, so can use traits_type.
- template<typename _CharT>
- class num_get<_CharT, istreambuf_iterator<_CharT> >;
-
- iter_type
- _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
- string& __xtrc) const;
-
- iter_type
- _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
- string& __xtrc, int& __base) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
-#endif
template<typename _CharT, typename _OutIter>
class num_put : public locale::facet, public __num_base
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
bool __b = false;
char_type __c = this->fill();
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
- __check_facet(this->_M_num_put);
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
if ((__fmt & ios_base::oct) || (__fmt & ios_base::hex))
{
unsigned long __l = static_cast<unsigned long>(__n);
- __b = this->_M_num_put->put(*this, *this, __c, __l).failed();
+ __b = __np.put(*this, *this, __c, __l).failed();
}
else
- __b = this->_M_num_put->put(*this, *this, __c, __n).failed();
+ __b = __np.put(*this, *this, __c, __n).failed();
if (__b)
this->setstate(ios_base::badbit);
}
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
bool __b = false;
char_type __c = this->fill();
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
- __check_facet(this->_M_num_put);
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
if ((__fmt & ios_base::oct) || (__fmt & ios_base::hex))
{
unsigned long long __l;
__l = static_cast<unsigned long long>(__n);
- __b = this->_M_num_put->put(*this, *this, __c, __l).failed();
+ __b = __np.put(*this, *this, __c, __l).failed();
}
else
- __b = this->_M_num_put->put(*this, *this, __c, __n).failed();
+ __b = __np.put(*this, *this, __c, __n).failed();
if (__b)
this->setstate(ios_base::badbit);
}
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
{
try
{
- __check_facet(this->_M_num_put);
- if (this->_M_num_put->put(*this, *this, this->fill(),
- __n).failed())
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(...)
{
if (__len + _M_buf_count <= _Buf_sz) {
size_t __i = _M_buf_count;
- size_t __j = 0;
- for (; __j < __len; __i++, __j++) {
+ for (size_t __j = 0; __j < __len; __i++, __j++) {
_M_buffer[__i] = __s[__j];
}
_M_buf_count += __len;
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_ios<_CharT, _Traits> __ios_type;
typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter;
- typedef num_get<_CharT, __istreambuf_iter> __numget_type;
+ typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
+ __num_get_type;
typedef ctype<_CharT> __ctype_type;
template<typename _CharT2, typename _Traits2>
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_ios<_CharT, _Traits> __ios_type;
typedef basic_ostream<_CharT, _Traits> __ostream_type;
- typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter;
- typedef num_put<_CharT, __ostreambuf_iter> __numput_type;
+ typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
+ __num_put_type;
typedef ctype<_CharT> __ctype_type;
template<typename _CharT2, typename _Traits2>
bool test = true;
// Construct locale with specialized facets.
- typedef gnu_sstream::__numput_type numput_type;
- typedef gnu_sstream::__numget_type numget_type;
+ typedef gnu_sstream::__num_put_type numput_type;
+ typedef gnu_sstream::__num_get_type numget_type;
std::locale loc_c = std::locale::classic();
std::locale loc_1(loc_c, new numput_type);
std::locale loc_2(loc_1, new numget_type);