1 // Explicit instantiation file. 2 3 // Copyright (C) 2020-2021 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 // <http://www.gnu.org/licenses/>. 24 25 // 26 // ISO C++ 14882: 27 // 28 29 // Instantiations in this file are only for the new SSO std::string ABI 30 #include <sstream> 31 32 #if _GLIBCXX_USE_CXX11_ABI 33 namespace std _GLIBCXX_VISIBILITY(default) 34 { 35 _GLIBCXX_BEGIN_NAMESPACE_VERSION 36 37 template basic_stringbuf<char>::basic_stringbuf(const allocator_type&); 38 template basic_stringbuf<char>::basic_stringbuf(ios_base::openmode, 39 const allocator_type&); 40 template basic_stringbuf<char>::basic_stringbuf(__string_type&&, 41 ios_base::openmode); 42 template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&, 43 const allocator_type&); 44 template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&, 45 const allocator_type&, 46 __xfer_bufptrs&&); 47 template basic_stringbuf<char>::allocator_type 48 basic_stringbuf<char>::get_allocator() const noexcept; 49 template string 50 basic_stringbuf<char>::str() const &; 51 template string 52 basic_stringbuf<char>::str() &&; 53 template string_view 54 basic_stringbuf<char>::view() const noexcept; 55 template void 56 basic_stringbuf<char>::str(string&&); 57 58 template basic_istringstream<char>::basic_istringstream(ios_base::openmode, 59 const allocator_type&); 60 template basic_istringstream<char>::basic_istringstream(__string_type&&, 61 ios_base::openmode); 62 template string 63 basic_istringstream<char>::str() const &; 64 template string 65 basic_istringstream<char>::str() &&; 66 template string_view 67 basic_istringstream<char>::view() const noexcept; 68 template void 69 basic_istringstream<char>::str(string&&); 70 71 template basic_ostringstream<char>::basic_ostringstream(ios_base::openmode, 72 const allocator_type&); 73 template basic_ostringstream<char>::basic_ostringstream(__string_type&&, 74 ios_base::openmode); 75 template string 76 basic_ostringstream<char>::str() const &; 77 template string 78 basic_ostringstream<char>::str() &&; 79 template string_view 80 basic_ostringstream<char>::view() const noexcept; 81 template void 82 basic_ostringstream<char>::str(string&&); 83 84 template basic_stringstream<char>::basic_stringstream(ios_base::openmode, 85 const allocator_type&); 86 template basic_stringstream<char>::basic_stringstream(__string_type&&, 87 ios_base::openmode); 88 template string 89 basic_stringstream<char>::str() const &; 90 template string 91 basic_stringstream<char>::str() &&; 92 template string_view 93 basic_stringstream<char>::view() const noexcept; 94 template void 95 basic_stringstream<char>::str(string&&); 96 97 #ifdef _GLIBCXX_USE_WCHAR_T 98 template basic_stringbuf<wchar_t>::basic_stringbuf(const allocator_type&); 99 template basic_stringbuf<wchar_t>::basic_stringbuf(ios_base::openmode, 100 const allocator_type&); 101 template basic_stringbuf<wchar_t>::basic_stringbuf(__string_type&&, 102 ios_base::openmode); 103 template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&, 104 const allocator_type&); 105 template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&, 106 const allocator_type&, 107 __xfer_bufptrs&&); 108 template basic_stringbuf<wchar_t>::allocator_type 109 basic_stringbuf<wchar_t>::get_allocator() const noexcept; 110 111 template wstring 112 basic_stringbuf<wchar_t>::str() const &; 113 template wstring 114 basic_stringbuf<wchar_t>::str() &&; 115 template wstring_view 116 basic_stringbuf<wchar_t>::view() const noexcept; 117 template void 118 basic_stringbuf<wchar_t>::str(wstring&&); 119 120 template basic_istringstream<wchar_t>::basic_istringstream(ios_base::openmode, 121 const allocator_type&); 122 template basic_istringstream<wchar_t>::basic_istringstream(__string_type&&, 123 ios_base::openmode); 124 template wstring 125 basic_istringstream<wchar_t>::str() const &; 126 template wstring 127 basic_istringstream<wchar_t>::str() &&; 128 template wstring_view 129 basic_istringstream<wchar_t>::view() const noexcept; 130 template void 131 basic_istringstream<wchar_t>::str(wstring&&); 132 133 template basic_ostringstream<wchar_t>::basic_ostringstream(ios_base::openmode, 134 const allocator_type&); 135 template basic_ostringstream<wchar_t>::basic_ostringstream(__string_type&&, 136 ios_base::openmode); 137 template wstring 138 basic_ostringstream<wchar_t>::str() const &; 139 template wstring 140 basic_ostringstream<wchar_t>::str() &&; 141 template wstring_view 142 basic_ostringstream<wchar_t>::view() const noexcept; 143 template void 144 basic_ostringstream<wchar_t>::str(wstring&&); 145 146 template basic_stringstream<wchar_t>::basic_stringstream(ios_base::openmode, 147 const allocator_type&); 148 template basic_stringstream<wchar_t>::basic_stringstream(__string_type&&, 149 ios_base::openmode); 150 template wstring 151 basic_stringstream<wchar_t>::str() const &; 152 template wstring 153 basic_stringstream<wchar_t>::str() &&; 154 template wstring_view 155 basic_stringstream<wchar_t>::view() const noexcept; 156 template void 157 basic_stringstream<wchar_t>::str(wstring&&); 158 #endif 159 160 _GLIBCXX_END_NAMESPACE_VERSION 161 } 162 163 #endif //_GLIBCXX_USE_CXX11_ABI 164