re PR libstdc++/9269 (libstdc++ headers: explicit specialization of function must precede its first use)

2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
	    Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
	    Mark Mitchell  <mark@codesourcery.com>

	PR libstdc++/9269
	* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
	(basic_filebuf::underflow): Declare.
	Move definitions.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
Co-Authored-By: Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>

From-SVN: r61616
This commit is contained in:
Benjamin Kosnik 2003-01-22 21:18:00 +00:00 committed by Benjamin Kosnik
parent 906c7c3265
commit b4ec7fc7f0
2 changed files with 24 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
Mark Mitchell <mark@codesourcery.com>
PR libstdc++/9269
* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
(basic_filebuf::underflow): Declare.
Move definitions.
2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Move non-facet classes requiring

View File

@ -235,11 +235,11 @@ namespace std
// [documentation is inherited]
virtual int_type
underflow() { return _M_underflow_common(false); }
underflow();
// [documentation is inherited]
virtual int_type
uflow() { return _M_underflow_common(true); }
uflow();
// [documentation is inherited]
virtual int_type
@ -435,7 +435,7 @@ namespace std
}
};
// Explicit specializations, defined in src/fstream.cc.
// Explicit specialization declarations, defined in src/fstream.cc.
template<>
basic_filebuf<char>::int_type
basic_filebuf<char>::_M_underflow_common(bool __bump);
@ -446,6 +446,18 @@ namespace std
basic_filebuf<wchar_t>::_M_underflow_common(bool __bump);
#endif
// Generic definitions.
template <typename _CharT, typename _Traits>
typename basic_filebuf<_CharT, _Traits>::int_type
basic_filebuf<_CharT, _Traits>::underflow()
{ return _M_underflow_common(false); }
template <typename _CharT, typename _Traits>
typename basic_filebuf<_CharT, _Traits>::int_type
basic_filebuf<_CharT, _Traits>::uflow()
{ return _M_underflow_common(true); }
// [27.8.1.5] Template class basic_ifstream
/**
* @brief Controlling input for files.