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 #include <string>
00038
00039
00040 #ifndef C
00041 # define C char
00042 #endif
00043
00044 namespace std
00045 {
00046 typedef basic_string<C> S;
00047
00048 template class basic_string<C>;
00049 template S operator+(const C*, const S&);
00050 template S operator+(C, const S&);
00051 }
00052
00053 namespace __gnu_cxx
00054 {
00055 using std::S;
00056 template bool operator==(const S::iterator&, const S::iterator&);
00057 template bool operator==(const S::const_iterator&, const S::const_iterator&);
00058 }
00059
00060 namespace std
00061 {
00062
00063
00064
00065 template
00066 S::basic_string(C*, C*, const allocator<C>&);
00067
00068 template
00069 S::basic_string(const C*, const C*, const allocator<C>&);
00070
00071 template
00072 S::basic_string(S::iterator, S::iterator, const allocator<C>&);
00073
00074 template
00075 S::basic_string(S::const_iterator, S::const_iterator, const allocator<C>&);
00076
00077 template
00078 S&
00079 S::_M_replace(S::iterator, S::iterator, S::iterator, S::iterator,
00080 input_iterator_tag);
00081
00082 template
00083 S&
00084 S::_M_replace(S::iterator, S::iterator, S::const_iterator,
00085 S::const_iterator, input_iterator_tag);
00086
00087 template
00088 S&
00089 S::_M_replace(S::iterator, S::iterator, C*, C*, input_iterator_tag);
00090
00091 template
00092 S&
00093 S::_M_replace(S::iterator, S::iterator, const C*, const C*,
00094 input_iterator_tag);
00095
00096 template
00097 S&
00098 S::_M_replace_safe(S::iterator, S::iterator, S::iterator, S::iterator);
00099
00100 template
00101 S&
00102 S::_M_replace_safe(S::iterator, S::iterator, S::const_iterator,
00103 S::const_iterator);
00104
00105 template
00106 S&
00107 S::_M_replace_safe(S::iterator, S::iterator, C*, C*);
00108
00109 template
00110 S&
00111 S::_M_replace_safe(S::iterator, S::iterator, const C*, const C*);
00112
00113 template
00114 C*
00115 S::_S_construct(S::iterator, S::iterator,
00116 const allocator<C>&, forward_iterator_tag);
00117
00118 template
00119 C*
00120 S::_S_construct(S::const_iterator, S::const_iterator,
00121 const allocator<C>&, forward_iterator_tag);
00122
00123 template
00124 C*
00125 S::_S_construct(C*, C*, const allocator<C>&, forward_iterator_tag);
00126
00127 template
00128 C*
00129 S::_S_construct(const C*, const C*, const allocator<C>&,
00130 forward_iterator_tag);
00131
00132 template
00133 void
00134 __destroy_aux<S*>(S*, S*, __false_type);
00135 }