1 // Instantiation file for the -*- C++ -*- string classes.
2 // Copyright (C) 1994 Free Software Foundation
4 // This file is part of the GNU ANSI C++ Library. This library is free
5 // software; you can redistribute it and/or modify it under the
6 // terms of the GNU General Public License as published by the
7 // Free Software Foundation; either version 2, or (at your option)
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this library; see the file COPYING. If not, write to the Free
17 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 // As a special exception, if you link this library with files
20 // compiled with a GNU compiler to produce an executable, this does not cause
21 // the resulting executable to be covered by the GNU General Public License.
22 // This exception does not however invalidate any other reasons why
23 // the executable file might be covered by the GNU General Public License.
25 // Written by Jason Merrill based upon the specification by Takanori Adachi
26 // in ANSI X3J16/94-0013R2.
31 #pragma implementation "std/straits.h"
45 #if defined(TRAITS) && !defined(C)
46 template class string_char_traits
<c
>;
48 /* string_char_traits<char> is already explicitly specialized in
52 typedef basic_string
<c
> s
;
55 template class basic_string
<c
>;
59 template s
operator+ (const s
&, const s
&);
62 template s
operator+ (const c
*, const s
&);
65 template s
operator+ (c
, const s
&);
68 template s
operator+ (const s
&, const c
*);
71 template s
operator+ (const s
&, c
);
74 template bool operator== (const s
&, const s
&);
77 template bool operator== (const c
*, const s
&);
80 template bool operator== (const s
&, const c
*);
83 template bool operator!= (const s
&, const s
&);
86 template bool operator!= (const c
*, const s
&);
89 template bool operator!= (const s
&, const c
*);
92 template bool operator< (const s
&, const s
&);
95 template bool operator< (const c
*, const s
&);
98 template bool operator< (const s
&, const c
*);
101 template bool operator> (const s
&, const s
&);
104 template bool operator> (const c
*, const s
&);
107 template bool operator> (const s
&, const c
*);
110 template bool operator<= (const s
&, const s
&);
113 template bool operator<= (const c
*, const s
&);
116 template bool operator<= (const s
&, const c
*);
119 template bool operator>= (const s
&, const s
&);
122 template bool operator>= (const c
*, const s
&);
125 template bool operator>= (const s
&, const c
*);
128 template istream
& operator>> (istream
&, s
&);
131 template ostream
& operator<< (ostream
&, const s
&);
134 template istream
& getline (istream
&, s
&, c
);