OSDN Git Service

2009-02-03 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / src / string-inst.cc
index 54e5f4a..c17862b 100644 (file)
@@ -1,6 +1,7 @@
 // Components for manipulating sequences of characters -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -15,7 +16,7 @@
 
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
 // As a special exception, you may use this file as part of a free software
 // Written by Jason Merrill based upon the specification by Takanori Adachi
 // in ANSI X3J16/94-0013R2.  Rewritten by Nathan Myers.
 
-#include <bits/std_string.h>
+#include <string>
 
 // Instantiation configuration.
 #ifndef C
 # define C char
 #endif
 
-namespace std 
-{
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
   typedef basic_string<C> S;
 
   template class basic_string<C>;
-
   template S operator+(const C*, const S&);
   template S operator+(C, const S&);
-  template bool operator==(const S::iterator&, const S::iterator&);
-  template bool operator==(const S::const_iterator&, const S::const_iterator&);
+  template S operator+(const S&, const S&);
 
   // Only one template keyword allowed here. 
   // See core issue #46 (NAD)
   // http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_closed.html#46
-  template 
-    S& 
-    S::_M_replace<S::iterator>
-    (S::iterator, S::iterator, S::iterator, S::iterator, forward_iterator_tag);
+  template
+    S::basic_string(C*, C*, const allocator<C>&);
+
+  template
+    S::basic_string(const C*, const C*, const allocator<C>&);
 
   template 
-    S& 
-    S::_M_replace<S::const_iterator>
-    (S::iterator, S::iterator, 
-     S::const_iterator, S::const_iterator, forward_iterator_tag);
+    S::basic_string(S::iterator, S::iterator, const allocator<C>&);
 
   template 
     C* 
-    S::_S_construct<S::iterator>
-    (S::iterator, S::iterator, const allocator<C>&, forward_iterator_tag);
+    S::_S_construct(S::iterator, S::iterator, 
+                   const allocator<C>&, forward_iterator_tag);
 
-  template 
-    S::basic_string(S::iterator, S::iterator, const allocator<C>&);
-} // namespace std
+  template
+    C*
+    S::_S_construct(C*, C*, const allocator<C>&, forward_iterator_tag);
 
+  template
+    C*
+    S::_S_construct(const C*, const C*, const allocator<C>&,
+                   forward_iterator_tag);
 
+_GLIBCXX_END_NAMESPACE
 
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+  using std::S;
+  template bool operator==(const S::iterator&, const S::iterator&);
+  template bool operator==(const S::const_iterator&, const S::const_iterator&);
 
+_GLIBCXX_END_NAMESPACE