OSDN Git Service

Initial revision
[pf3gnuchains/gcc-fork.git] / libstdc++ / sinst.cc
1 // Instantiation file for the -*- C++ -*- string classes.
2 // Copyright (C) 1994 Free Software Foundation
3
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)
8 // any later version.
9
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.
14
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.
18
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.
24
25 // Written by Jason Merrill based upon the specification by Takanori Adachi
26 // in ANSI X3J16/94-0013R2.
27
28 #ifdef __GNUG__
29 #ifdef TRAITS
30 #ifdef C
31 #pragma implementation "std/straits.h"
32 #endif
33 #endif
34 #endif
35
36 #include <std/bastring.cc>
37
38 #ifdef C
39 typedef char c;
40 #endif
41 #ifdef W
42 typedef wchar_t c;
43 #endif
44
45 #ifdef TRAITS
46 template class string_char_traits <c>;
47 #endif
48
49 typedef basic_string <c> s;
50
51 #ifdef MAIN
52 template class basic_string <c>;
53 #endif
54
55 #ifdef ADDSS
56 template s operator+ (const s&, const s&);
57 #endif
58 #ifdef ADDPS
59 template s operator+ (const c*, const s&);
60 #endif
61 #ifdef ADDCS
62 template s operator+ (c, const s&);
63 #endif
64 #ifdef ADDSP
65 template s operator+ (const s&, const c*);
66 #endif
67 #ifdef ADDSC
68 template s operator+ (const s&, c);
69 #endif
70 #ifdef EQSS
71 template bool operator== (const s&, const s&);
72 #endif
73 #ifdef EQPS
74 template bool operator== (const c*, const s&);
75 #endif
76 #ifdef EQSP
77 template bool operator== (const s&, const c*);
78 #endif
79 #ifdef NESS
80 template bool operator!= (const s&, const s&);
81 #endif
82 #ifdef NEPS
83 template bool operator!= (const c*, const s&);
84 #endif
85 #ifdef NESP
86 template bool operator!= (const s&, const c*);
87 #endif
88 #ifdef LTSS
89 template bool operator< (const s&, const s&);
90 #endif
91 #ifdef LTPS
92 template bool operator< (const c*, const s&);
93 #endif
94 #ifdef LTSP
95 template bool operator< (const s&, const c*);
96 #endif
97 #ifdef GTSS
98 template bool operator> (const s&, const s&);
99 #endif
100 #ifdef GTPS
101 template bool operator> (const c*, const s&);
102 #endif
103 #ifdef GTSP
104 template bool operator> (const s&, const c*);
105 #endif
106 #ifdef LESS
107 template bool operator<= (const s&, const s&);
108 #endif
109 #ifdef LEPS
110 template bool operator<= (const c*, const s&);
111 #endif
112 #ifdef LESP
113 template bool operator<= (const s&, const c*);
114 #endif
115 #ifdef GESS
116 template bool operator>= (const s&, const s&);
117 #endif
118 #ifdef GEPS
119 template bool operator>= (const c*, const s&);
120 #endif
121 #ifdef GESP
122 template bool operator>= (const s&, const c*);
123 #endif
124 #ifdef EXTRACT
125 template istream& operator>> (istream&, s&);
126 #endif // EXTRACT
127 #ifdef INSERT
128 template ostream& operator<< (ostream&, const s&);
129 #endif // INSERT
130 #ifdef GETLINE
131 template istream& getline (istream&, s&, c);
132 #endif