1// Explicit instantiation file. 2 3// Copyright (C) 2020-2022 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#define _GLIBCXX_USE_CXX11_ABI 1 31 32#include <sstream> 33 34#if _GLIBCXX_USE_CXX11_ABI 35namespace std _GLIBCXX_VISIBILITY(default) 36{ 37_GLIBCXX_BEGIN_NAMESPACE_VERSION 38 39template basic_stringbuf<char>::basic_stringbuf(const allocator_type&); 40template basic_stringbuf<char>::basic_stringbuf(ios_base::openmode, 41 const allocator_type&); 42template basic_stringbuf<char>::basic_stringbuf(__string_type&&, 43 ios_base::openmode); 44template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&, 45 const allocator_type&); 46template basic_stringbuf<char>::basic_stringbuf(basic_stringbuf&&, 47 const allocator_type&, 48 __xfer_bufptrs&&); 49template basic_stringbuf<char>::allocator_type 50basic_stringbuf<char>::get_allocator() const noexcept; 51template string 52basic_stringbuf<char>::str() const &; 53template string 54basic_stringbuf<char>::str() &&; 55template string_view 56basic_stringbuf<char>::view() const noexcept; 57template void 58basic_stringbuf<char>::str(string&&); 59 60template basic_istringstream<char>::basic_istringstream(ios_base::openmode, 61 const allocator_type&); 62template basic_istringstream<char>::basic_istringstream(__string_type&&, 63 ios_base::openmode); 64template string 65basic_istringstream<char>::str() const &; 66template string 67basic_istringstream<char>::str() &&; 68template string_view 69basic_istringstream<char>::view() const noexcept; 70template void 71basic_istringstream<char>::str(string&&); 72 73template basic_ostringstream<char>::basic_ostringstream(ios_base::openmode, 74 const allocator_type&); 75template basic_ostringstream<char>::basic_ostringstream(__string_type&&, 76 ios_base::openmode); 77template string 78basic_ostringstream<char>::str() const &; 79template string 80basic_ostringstream<char>::str() &&; 81template string_view 82basic_ostringstream<char>::view() const noexcept; 83template void 84basic_ostringstream<char>::str(string&&); 85 86template basic_stringstream<char>::basic_stringstream(ios_base::openmode, 87 const allocator_type&); 88template basic_stringstream<char>::basic_stringstream(__string_type&&, 89 ios_base::openmode); 90template string 91basic_stringstream<char>::str() const &; 92template string 93basic_stringstream<char>::str() &&; 94template string_view 95basic_stringstream<char>::view() const noexcept; 96template void 97basic_stringstream<char>::str(string&&); 98 99#ifdef _GLIBCXX_USE_WCHAR_T 100template basic_stringbuf<wchar_t>::basic_stringbuf(const allocator_type&); 101template basic_stringbuf<wchar_t>::basic_stringbuf(ios_base::openmode, 102 const allocator_type&); 103template basic_stringbuf<wchar_t>::basic_stringbuf(__string_type&&, 104 ios_base::openmode); 105template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&, 106 const allocator_type&); 107template basic_stringbuf<wchar_t>::basic_stringbuf(basic_stringbuf&&, 108 const allocator_type&, 109 __xfer_bufptrs&&); 110template basic_stringbuf<wchar_t>::allocator_type 111basic_stringbuf<wchar_t>::get_allocator() const noexcept; 112 113template wstring 114basic_stringbuf<wchar_t>::str() const &; 115template wstring 116basic_stringbuf<wchar_t>::str() &&; 117template wstring_view 118basic_stringbuf<wchar_t>::view() const noexcept; 119template void 120basic_stringbuf<wchar_t>::str(wstring&&); 121 122template basic_istringstream<wchar_t>::basic_istringstream(ios_base::openmode, 123 const allocator_type&); 124template basic_istringstream<wchar_t>::basic_istringstream(__string_type&&, 125 ios_base::openmode); 126template wstring 127basic_istringstream<wchar_t>::str() const &; 128template wstring 129basic_istringstream<wchar_t>::str() &&; 130template wstring_view 131basic_istringstream<wchar_t>::view() const noexcept; 132template void 133basic_istringstream<wchar_t>::str(wstring&&); 134 135template basic_ostringstream<wchar_t>::basic_ostringstream(ios_base::openmode, 136 const allocator_type&); 137template basic_ostringstream<wchar_t>::basic_ostringstream(__string_type&&, 138 ios_base::openmode); 139template wstring 140basic_ostringstream<wchar_t>::str() const &; 141template wstring 142basic_ostringstream<wchar_t>::str() &&; 143template wstring_view 144basic_ostringstream<wchar_t>::view() const noexcept; 145template void 146basic_ostringstream<wchar_t>::str(wstring&&); 147 148template basic_stringstream<wchar_t>::basic_stringstream(ios_base::openmode, 149 const allocator_type&); 150template basic_stringstream<wchar_t>::basic_stringstream(__string_type&&, 151 ios_base::openmode); 152template wstring 153basic_stringstream<wchar_t>::str() const &; 154template wstring 155basic_stringstream<wchar_t>::str() &&; 156template wstring_view 157basic_stringstream<wchar_t>::view() const noexcept; 158template void 159basic_stringstream<wchar_t>::str(wstring&&); 160#endif 161 162_GLIBCXX_END_NAMESPACE_VERSION 163} 164 165#endif //_GLIBCXX_USE_CXX11_ABI 166