re PR libstdc++/9580 (basic_filebuf<> with custom traits_type fails to link)
2003-02-17 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/9580 * include/std/std_fstream.h: Declare underflow and uflow specializations, change generic definitions to do nothing. * src/fstream.cc: Add underflow and uflow specializations. From-SVN: r63008
This commit is contained in:
parent
bea63b0acc
commit
1a1aed2466
@ -1,3 +1,10 @@
|
||||
2003-02-17 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/9580
|
||||
* include/std/std_fstream.h: Declare underflow and uflow
|
||||
specializations, change generic definitions to do nothing.
|
||||
* src/fstream.cc: Add underflow and uflow specializations.
|
||||
|
||||
2003-02-17 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/9169
|
||||
|
@ -439,23 +439,38 @@ namespace std
|
||||
basic_filebuf<char>::int_type
|
||||
basic_filebuf<char>::_M_underflow_common(bool __bump);
|
||||
|
||||
template<>
|
||||
basic_filebuf<char>::int_type
|
||||
basic_filebuf<char>::underflow();
|
||||
|
||||
template<>
|
||||
basic_filebuf<char>::int_type
|
||||
basic_filebuf<char>::uflow();
|
||||
|
||||
#ifdef _GLIBCPP_USE_WCHAR_T
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
basic_filebuf<wchar_t>::_M_underflow_common(bool __bump);
|
||||
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
basic_filebuf<wchar_t>::underflow();
|
||||
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
basic_filebuf<wchar_t>::uflow();
|
||||
#endif
|
||||
|
||||
// Generic definitions.
|
||||
// Generic definitions do nothing.
|
||||
template <typename _CharT, typename _Traits>
|
||||
typename basic_filebuf<_CharT, _Traits>::int_type
|
||||
basic_filebuf<_CharT, _Traits>::underflow()
|
||||
{ return _M_underflow_common(false); }
|
||||
{ return int_type(); }
|
||||
|
||||
template <typename _CharT, typename _Traits>
|
||||
typename basic_filebuf<_CharT, _Traits>::int_type
|
||||
basic_filebuf<_CharT, _Traits>::uflow()
|
||||
{ return _M_underflow_common(true); }
|
||||
|
||||
{ return int_type(); }
|
||||
|
||||
// [27.8.1.5] Template class basic_ifstream
|
||||
/**
|
||||
|
@ -100,6 +100,16 @@ namespace std
|
||||
return __ret;
|
||||
}
|
||||
|
||||
template<>
|
||||
basic_filebuf<char>::int_type
|
||||
basic_filebuf<char>::underflow()
|
||||
{ return _M_underflow_common(false); }
|
||||
|
||||
template<>
|
||||
basic_filebuf<char>::int_type
|
||||
basic_filebuf<char>::uflow()
|
||||
{ return _M_underflow_common(true); }
|
||||
|
||||
#ifdef _GLIBCPP_USE_WCHAR_T
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
@ -189,5 +199,15 @@ namespace std
|
||||
_M_last_overflowed = false;
|
||||
return __ret;
|
||||
}
|
||||
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
basic_filebuf<wchar_t>::underflow()
|
||||
{ return _M_underflow_common(false); }
|
||||
|
||||
template<>
|
||||
basic_filebuf<wchar_t>::int_type
|
||||
basic_filebuf<wchar_t>::uflow()
|
||||
{ return _M_underflow_common(true); }
|
||||
#endif
|
||||
} // namespace std
|
||||
|
Loading…
Reference in New Issue
Block a user