misc-inst.cc

00001 // Explicit instantiation file.
00002 
00003 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
00004 // Free Software Foundation, Inc.
00005 //
00006 // This file is part of the GNU ISO C++ Library.  This library is free
00007 // software; you can redistribute it and/or modify it under the
00008 // terms of the GNU General Public License as published by the
00009 // Free Software Foundation; either version 2, or (at your option)
00010 // any later version.
00011 
00012 // This library is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 // GNU General Public License for more details.
00016 
00017 // You should have received a copy of the GNU General Public License along
00018 // with this library; see the file COPYING.  If not, write to the Free
00019 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00020 // USA.
00021 
00022 // As a special exception, you may use this file as part of a free software
00023 // library without restriction.  Specifically, if other files instantiate
00024 // templates or use macros or inline functions from this file, or you compile
00025 // this file and link it with other files to produce an executable, this
00026 // file does not by itself cause the resulting executable to be covered by
00027 // the GNU General Public License.  This exception does not however
00028 // invalidate any other reasons why the executable file might be covered by
00029 // the GNU General Public License.
00030 
00031 //
00032 // ISO C++ 14882:
00033 //
00034 
00035 #include <string>
00036 #include <istream>
00037 #include <ostream>
00038 #include <algorithm>
00039 #include <vector>
00040 #include <bits/atomicity.h>
00041 
00042 namespace std
00043 {
00044   // string related to iostreams
00045   template 
00046     basic_istream<char>& 
00047     operator>>(basic_istream<char>&, string&);
00048   template 
00049     basic_ostream<char>& 
00050     operator<<(basic_ostream<char>&, const string&);
00051   template 
00052     basic_istream<char>& 
00053     getline(basic_istream<char>&, string&, char);
00054   template 
00055     basic_istream<char>& 
00056     getline(basic_istream<char>&, string&);
00057 #ifdef _GLIBCPP_USE_WCHAR_T
00058   template 
00059     basic_istream<wchar_t>& 
00060     operator>>(basic_istream<wchar_t>&, wstring&);
00061   template 
00062     basic_ostream<wchar_t>& 
00063     operator<<(basic_ostream<wchar_t>&, const wstring&);
00064   template 
00065     basic_istream<wchar_t>& 
00066     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
00067   template 
00068     basic_istream<wchar_t>& 
00069     getline(basic_istream<wchar_t>&, wstring&);
00070 #endif
00071 #ifdef _GLIBCPP_INST_ATOMICITY_LOCK
00072   template volatile int __Atomicity_lock<0>::_S_atomicity_lock;
00073 #endif
00074 
00075 #if 1
00076   // XXX
00077   // 2002-05-24 These are no longer needed and should eventually be deleted.
00078   template 
00079     string* 
00080     __uninitialized_fill_n_aux<string*, size_t, string>
00081     (string*, size_t, string const &, __false_type);
00082 
00083   template 
00084     string* 
00085     __uninitialized_copy_aux<vector<string>::const_iterator, string *>
00086     (vector<string>::const_iterator, vector<string>::const_iterator, 
00087      string*, __false_type);
00088 #endif
00089 } // namespace std
00090 
00091 #ifdef _GLIBCPP_NEED_GENERIC_MUTEX
00092 namespace __gnu_cxx
00093 {
00094 #ifdef __GTHREAD_MUTEX_INIT
00095   __gthread_mutex_t _Atomic_add_mutex = __GTHREAD_MUTEX_INIT;
00096 #else
00097   // generic atomicity.h without static initialization
00098   __gthread_mutex_t _Atomic_add_mutex;
00099   __gthread_once_t _Atomic_add_mutex_once = __GTHREAD_ONCE_INIT;
00100   void __gthread_atomic_add_mutex_once()
00101   {
00102     __GTHREAD_MUTEX_INIT_FUNCTION (&_Atomic_add_mutex);
00103   }
00104 #endif
00105 } // namespace __gnu_cxx
00106 #endif // _GLIBCPP_NEED_GLOBAL_MUTEX
00107 

Generated on Thu Feb 10 23:22:56 2005 for libstdc++-v3 Source by  doxygen 1.4.0