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 #include <string>
00036 #include <istream>
00037 #include <ostream>
00038 #include <algorithm>
00039 #include <vector>
00040 #include <bits/atomicity.h>
00041 #include <iterator>
00042
00043 namespace std
00044 {
00045
00046 template
00047 basic_istream<char>&
00048 operator>>(basic_istream<char>&, string&);
00049 template
00050 basic_ostream<char>&
00051 operator<<(basic_ostream<char>&, const string&);
00052 template
00053 basic_istream<char>&
00054 getline(basic_istream<char>&, string&, char);
00055 template
00056 basic_istream<char>&
00057 getline(basic_istream<char>&, string&);
00058 #ifdef _GLIBCPP_USE_WCHAR_T
00059 template
00060 basic_istream<wchar_t>&
00061 operator>>(basic_istream<wchar_t>&, wstring&);
00062 template
00063 basic_ostream<wchar_t>&
00064 operator<<(basic_ostream<wchar_t>&, const wstring&);
00065 template
00066 basic_istream<wchar_t>&
00067 getline(basic_istream<wchar_t>&, wstring&, wchar_t);
00068 template
00069 basic_istream<wchar_t>&
00070 getline(basic_istream<wchar_t>&, wstring&);
00071 #endif
00072 #ifdef _GLIBCPP_INST_ATOMICITY_LOCK
00073 template volatile int __Atomicity_lock<0>::_S_atomicity_lock;
00074 #endif
00075
00076 #if 1
00077
00078
00079 template
00080 string*
00081 __uninitialized_fill_n_aux<string*, size_t, string>
00082 (string*, size_t, string const &, __false_type);
00083
00084 template
00085 string*
00086 __uninitialized_copy_aux<vector<string>::const_iterator, string *>
00087 (vector<string>::const_iterator, vector<string>::const_iterator,
00088 string*, __false_type);
00089 #endif
00090
00091
00092
00093 template
00094 istreambuf_iterator<char>::int_type
00095 istreambuf_iterator<char>::_M_get() const;
00096
00097 #ifdef _GLIBCPP_USE_WCHAR_T
00098 template
00099 istreambuf_iterator<wchar_t>::int_type
00100 istreambuf_iterator<wchar_t>::_M_get() const;
00101 #endif
00102
00103 }
00104
00105 #ifdef _GLIBCPP_NEED_GENERIC_MUTEX
00106 namespace __gnu_cxx
00107 {
00108 #ifdef __GTHREAD_MUTEX_INIT
00109 __gthread_mutex_t _Atomic_add_mutex = __GTHREAD_MUTEX_INIT;
00110 #else
00111
00112 __gthread_mutex_t _Atomic_add_mutex;
00113 __gthread_once_t _Atomic_add_mutex_once = __GTHREAD_ONCE_INIT;
00114 void __gthread_atomic_add_mutex_once()
00115 {
00116 __GTHREAD_MUTEX_INIT_FUNCTION (&_Atomic_add_mutex);
00117 }
00118 #endif
00119 }
00120 #endif // _GLIBCPP_NEED_GLOBAL_MUTEX
00121