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