00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #include <string>
00039
00040
00041 #ifndef C
00042 # define C char
00043 #endif
00044
00045 namespace std
00046 {
00047 typedef basic_string<C> S;
00048
00049 template class basic_string<C>;
00050 template S operator+(const C*, const S&);
00051 template S operator+(C, const S&);
00052 template S operator+(const S&, const S&);
00053 }
00054
00055 namespace __gnu_cxx
00056 {
00057 using std::S;
00058 template bool operator==(const S::iterator&, const S::iterator&);
00059 template bool operator==(const S::const_iterator&, const S::const_iterator&);
00060 }
00061
00062 namespace std
00063 {
00064
00065
00066
00067 template
00068 S::basic_string(C*, C*, const allocator<C>&);
00069
00070 template
00071 S::basic_string(const C*, const C*, const allocator<C>&);
00072
00073 template
00074 S::basic_string(S::iterator, S::iterator, const allocator<C>&);
00075
00076 template
00077 S::basic_string(S::const_iterator, S::const_iterator, const allocator<C>&);
00078
00079 template
00080 S&
00081 S::_M_replace(S::iterator, S::iterator, S::iterator, S::iterator,
00082 input_iterator_tag);
00083
00084 template
00085 S&
00086 S::_M_replace(S::iterator, S::iterator, S::const_iterator,
00087 S::const_iterator, input_iterator_tag);
00088
00089 template
00090 S&
00091 S::_M_replace(S::iterator, S::iterator, C*, C*, input_iterator_tag);
00092
00093 template
00094 S&
00095 S::_M_replace(S::iterator, S::iterator, const C*, const C*,
00096 input_iterator_tag);
00097
00098 template
00099 S&
00100 S::_M_replace_safe(S::iterator, S::iterator, S::iterator, S::iterator);
00101
00102 template
00103 S&
00104 S::_M_replace_safe(S::iterator, S::iterator, S::const_iterator,
00105 S::const_iterator);
00106
00107 template
00108 S&
00109 S::_M_replace_safe(S::iterator, S::iterator, C*, C*);
00110
00111 template
00112 S&
00113 S::_M_replace_safe(S::iterator, S::iterator, const C*, const C*);
00114
00115 template
00116 C*
00117 S::_S_construct(S::iterator, S::iterator,
00118 const allocator<C>&, forward_iterator_tag);
00119
00120 template
00121 C*
00122 S::_S_construct(S::const_iterator, S::const_iterator,
00123 const allocator<C>&, forward_iterator_tag);
00124
00125 template
00126 C*
00127 S::_S_construct(C*, C*, const allocator<C>&, forward_iterator_tag);
00128
00129 template
00130 C*
00131 S::_S_construct(const C*, const C*, const allocator<C>&,
00132 forward_iterator_tag);
00133
00134 template
00135 void
00136 __destroy_aux<S*>(S*, S*, __false_type);
00137 }