re PR libstdc++/9269 (libstdc++ headers: explicit specialization of function must...
authorBenjamin Kosnik <bkoz@redhat.com>
Wed, 22 Jan 2003 21:18:00 +0000 (21:18 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Wed, 22 Jan 2003 21:18:00 +0000 (21:18 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/std_fstream.h

index fb4d7e24d2c9f41266918efd6cb365bad5b5465a..2b1e3a3ddff1305068e827bb9eed64458371b91f 100644 (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
index d2ddd0479843669bbec81d745cfd93db6edb878b..7731e49c8b28ecda37d8d1f9ae2de86898a0ff3d 100644 (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.