// 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
// 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