]>
Commit | Line | Data |
---|---|---|
b2dad0e3 BK |
1 | // The template and inlines for the -*- C++ -*- complex number classes. |
2 | ||
a945c346 | 3 | // Copyright (C) 2000-2024 Free Software Foundation, Inc. |
b2dad0e3 BK |
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 | |
748086b7 | 8 | // Free Software Foundation; either version 3, or (at your option) |
b2dad0e3 BK |
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 | ||
748086b7 JJ |
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/>. | |
b2dad0e3 | 24 | |
54c1bf78 | 25 | #include <complex> |
b2dad0e3 | 26 | |
12ffa228 BK |
27 | namespace std _GLIBCXX_VISIBILITY(default) |
28 | { | |
29 | _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
3cbc7af0 | 30 | |
b2dad0e3 | 31 | template |
bfe5c121 | 32 | basic_istream<char, char_traits<char> >& |
e2c09482 | 33 | operator>>(basic_istream<char, char_traits<char> >&, complex<float>&); |
b2dad0e3 BK |
34 | |
35 | template | |
bfe5c121 | 36 | basic_ostream<char, char_traits<char> >& |
f92ab29f | 37 | operator<<(basic_ostream<char, char_traits<char> >&, |
e2c09482 | 38 | const complex<float>&); |
b2dad0e3 BK |
39 | |
40 | template | |
bfe5c121 | 41 | basic_istream<char, char_traits<char> >& |
e2c09482 | 42 | operator>>(basic_istream<char, char_traits<char> >&, complex<double>&); |
b2dad0e3 BK |
43 | |
44 | template | |
bfe5c121 | 45 | basic_ostream<char, char_traits<char> >& |
f92ab29f | 46 | operator<<(basic_ostream<char, char_traits<char> >&, |
e2c09482 | 47 | const complex<double>&); |
b2dad0e3 BK |
48 | |
49 | template | |
bfe5c121 | 50 | basic_istream<char, char_traits<char> >& |
f92ab29f | 51 | operator>>(basic_istream<char, char_traits<char> >&, |
e2c09482 | 52 | complex<long double>&); |
b2dad0e3 BK |
53 | |
54 | template | |
bfe5c121 | 55 | basic_ostream<char, char_traits<char> >& |
e2c09482 | 56 | operator<<(basic_ostream<char, char_traits<char> >&, |
b2dad0e3 BK |
57 | const complex<long double>&); |
58 | ||
3d7c150e | 59 | #ifdef _GLIBCXX_USE_WCHAR_T |
b2dad0e3 | 60 | template |
bfe5c121 | 61 | basic_istream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 62 | operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 BK |
63 | complex<float>&); |
64 | ||
65 | template | |
bfe5c121 | 66 | basic_ostream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 67 | operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 BK |
68 | const complex<float>&); |
69 | ||
70 | template | |
bfe5c121 | 71 | basic_istream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 72 | operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 BK |
73 | complex<double>&); |
74 | ||
75 | template | |
bfe5c121 | 76 | basic_ostream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 77 | operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 BK |
78 | const complex<double>&); |
79 | ||
80 | template | |
bfe5c121 | 81 | basic_istream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 82 | operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 BK |
83 | complex<long double>&); |
84 | ||
85 | template | |
bfe5c121 | 86 | basic_ostream<wchar_t, char_traits<wchar_t> >& |
e2c09482 | 87 | operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&, |
b2dad0e3 | 88 | const complex<long double>&); |
3d7c150e | 89 | #endif //_GLIBCXX_USE_WCHAR_T |
3cbc7af0 | 90 | |
12ffa228 BK |
91 | _GLIBCXX_END_NAMESPACE_VERSION |
92 | } // namespace | |
6defecc2 JJ |
93 | |
94 | // XXX GLIBCXX_ABI Deprecated | |
95 | #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT | |
96 | ||
97 | #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \ | |
75c44d22 | 98 | extern "C" void ldbl (...) __attribute__ ((alias (#dbl), weak)) |
6defecc2 JJ |
99 | |
100 | _GLIBCXX_LDBL_COMPAT (_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, | |
101 | _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E); | |
f7cc5390 | 102 | #ifdef _GLIBCXX_USE_WCHAR_T |
6defecc2 JJ |
103 | _GLIBCXX_LDBL_COMPAT (_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E, |
104 | _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E); | |
f7cc5390 | 105 | #endif |
6defecc2 JJ |
106 | _GLIBCXX_LDBL_COMPAT (_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, |
107 | _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E); | |
f7cc5390 | 108 | #ifdef _GLIBCXX_USE_WCHAR_T |
6defecc2 JJ |
109 | _GLIBCXX_LDBL_COMPAT (_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E, |
110 | _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E); | |
f7cc5390 | 111 | #endif |
6defecc2 JJ |
112 | |
113 | #endif // _GLIBCXX_LONG_DOUBLE_COMPAT |