1 // Explicit instantiation file. 2 3 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 4 // 2009 Free Software Foundation, Inc. 5 // 6 // This file is part of the GNU ISO C++ Library. This library is free 7 // software; you can redistribute it and/or modify it under the 8 // terms of the GNU General Public License as published by the 9 // Free Software Foundation; either version 3, or (at your option) 10 // any later version. 11 12 // This library is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 17 // Under Section 7 of GPL version 3, you are granted additional 18 // permissions described in the GCC Runtime Library Exception, version 19 // 3.1, as published by the Free Software Foundation. 20 21 // You should have received a copy of the GNU General Public License and 22 // a copy of the GCC Runtime Library Exception along with this program; 23 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24 // <http://www.gnu.org/licenses/>. 25 26 // 27 // ISO C++ 14882: 28 // 29 30 #include <ostream> 31 #include <iomanip> 32 33 namespace std _GLIBCXX_VISIBILITY(default) 34 { 35 _GLIBCXX_BEGIN_NAMESPACE_VERSION 36 37 // ostream 38 template class basic_ostream<char>; 39 template ostream& endl(ostream&); 40 template ostream& ends(ostream&); 41 template ostream& flush(ostream&); 42 template ostream& operator<<(ostream&, char); 43 template ostream& operator<<(ostream&, unsigned char); 44 template ostream& operator<<(ostream&, signed char); 45 template ostream& operator<<(ostream&, const char*); 46 template ostream& operator<<(ostream&, const unsigned char*); 47 template ostream& operator<<(ostream&, const signed char*); 48 49 template ostream& operator<<(ostream&, _Setfill<char>); 50 template ostream& operator<<(ostream&, _Setiosflags); 51 template ostream& operator<<(ostream&, _Resetiosflags); 52 template ostream& operator<<(ostream&, _Setbase); 53 template ostream& operator<<(ostream&, _Setprecision); 54 template ostream& operator<<(ostream&, _Setw); 55 template ostream& __ostream_insert(ostream&, const char*, streamsize); 56 57 template ostream& ostream::_M_insert(long); 58 template ostream& ostream::_M_insert(unsigned long); 59 template ostream& ostream::_M_insert(bool); 60 #ifdef _GLIBCXX_USE_LONG_LONG 61 template ostream& ostream::_M_insert(long long); 62 template ostream& ostream::_M_insert(unsigned long long); 63 #endif 64 template ostream& ostream::_M_insert(double); 65 template ostream& ostream::_M_insert(long double); 66 template ostream& ostream::_M_insert(const void*); 67 68 #ifdef _GLIBCXX_USE_WCHAR_T 69 template class basic_ostream<wchar_t>; 70 template wostream& endl(wostream&); 71 template wostream& ends(wostream&); 72 template wostream& flush(wostream&); 73 template wostream& operator<<(wostream&, wchar_t); 74 template wostream& operator<<(wostream&, char); 75 template wostream& operator<<(wostream&, const wchar_t*); 76 template wostream& operator<<(wostream&, const char*); 77 78 template wostream& operator<<(wostream&, _Setfill<wchar_t>); 79 template wostream& operator<<(wostream&, _Setiosflags); 80 template wostream& operator<<(wostream&, _Resetiosflags); 81 template wostream& operator<<(wostream&, _Setbase); 82 template wostream& operator<<(wostream&, _Setprecision); 83 template wostream& operator<<(wostream&, _Setw); 84 template wostream& __ostream_insert(wostream&, const wchar_t*, streamsize); 85 86 template wostream& wostream::_M_insert(long); 87 template wostream& wostream::_M_insert(unsigned long); 88 template wostream& wostream::_M_insert(bool); 89 #ifdef _GLIBCXX_USE_LONG_LONG 90 template wostream& wostream::_M_insert(long long); 91 template wostream& wostream::_M_insert(unsigned long long); 92 #endif 93 template wostream& wostream::_M_insert(double); 94 template wostream& wostream::_M_insert(long double); 95 template wostream& wostream::_M_insert(const void*); 96 #endif 97 98 _GLIBCXX_END_NAMESPACE_VERSION 99 } // namespace 100 101 // XXX GLIBCXX_ABI Deprecated 102 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT 103 104 #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \ 105 extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak)) 106 _GLIBCXX_LDBL_COMPAT (_ZNSolsEd, _ZNSolsEe); 107 #ifdef _GLIBCXX_USE_WCHAR_T 108 _GLIBCXX_LDBL_COMPAT (_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd, 109 _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe); 110 #endif 111 _GLIBCXX_LDBL_COMPAT (_ZNSo9_M_insertIdEERSoT_, 112 _ZNSo9_M_insertIeEERSoT_); 113 #ifdef _GLIBCXX_USE_WCHAR_T 114 _GLIBCXX_LDBL_COMPAT (_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_, 115 _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_); 116 #endif 117 118 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT 119