]>
Commit | Line | Data |
---|---|---|
cd1e6665 | 1 | // <vstring.h> Forward declarations -*- C++ -*- |
872d8fea | 2 | |
aa118a03 | 3 | // Copyright (C) 2005-2014 Free Software Foundation, Inc. |
872d8fea PC |
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) |
872d8fea PC |
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. | |
872d8fea | 19 | |
748086b7 JJ |
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/>. | |
872d8fea PC |
24 | |
25 | /** @file ext/vstring_fwd.h | |
872d8fea | 26 | * This is an internal header file, included by other library headers. |
f910786b | 27 | * Do not attempt to use it directly. @headername{ext/vstring.h} |
872d8fea PC |
28 | */ |
29 | ||
30 | #ifndef _VSTRING_FWD_H | |
31 | #define _VSTRING_FWD_H 1 | |
32 | ||
33 | #pragma GCC system_header | |
34 | ||
35 | #include <bits/c++config.h> | |
36 | #include <bits/char_traits.h> | |
f56fe8ff | 37 | #include <bits/allocator.h> |
872d8fea | 38 | |
12ffa228 BK |
39 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) |
40 | { | |
41 | _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
3cbc7af0 | 42 | |
872d8fea PC |
43 | template<typename _CharT, typename _Traits, typename _Alloc> |
44 | class __sso_string_base; | |
45 | ||
46 | template<typename _CharT, typename _Traits, typename _Alloc> | |
47 | class __rc_string_base; | |
48 | ||
49 | template<typename _CharT, typename _Traits = std::char_traits<_CharT>, | |
50 | typename _Alloc = std::allocator<_CharT>, | |
51 | template | |
52 | <typename, typename, typename> class _Base = __sso_string_base> | |
53 | class __versa_string; | |
54 | ||
55 | typedef __versa_string<char> __vstring; | |
56 | typedef __vstring __sso_string; | |
57 | typedef | |
58 | __versa_string<char, std::char_traits<char>, | |
59 | std::allocator<char>, __rc_string_base> __rc_string; | |
60 | ||
61 | #ifdef _GLIBCXX_USE_WCHAR_T | |
62 | typedef __versa_string<wchar_t> __wvstring; | |
63 | typedef __wvstring __wsso_string; | |
64 | typedef | |
65 | __versa_string<wchar_t, std::char_traits<wchar_t>, | |
66 | std::allocator<wchar_t>, __rc_string_base> __wrc_string; | |
67 | #endif | |
3cbc7af0 | 68 | |
734f5023 | 69 | #if ((__cplusplus >= 201103L) \ |
5e44d591 PC |
70 | && defined(_GLIBCXX_USE_C99_STDINT_TR1)) |
71 | ||
72 | typedef __versa_string<char16_t> __u16vstring; | |
73 | typedef __u16vstring __u16sso_string; | |
74 | typedef | |
75 | __versa_string<char16_t, std::char_traits<char16_t>, | |
76 | std::allocator<char16_t>, __rc_string_base> __u16rc_string; | |
77 | ||
78 | typedef __versa_string<char32_t> __u32vstring; | |
79 | typedef __u32vstring __u32sso_string; | |
80 | typedef | |
81 | __versa_string<char32_t, std::char_traits<char32_t>, | |
82 | std::allocator<char32_t>, __rc_string_base> __u32rc_string; | |
83 | ||
84 | #endif | |
85 | ||
12ffa228 BK |
86 | _GLIBCXX_END_NAMESPACE_VERSION |
87 | } // namespace | |
872d8fea PC |
88 | |
89 | #endif /* _VSTRING_FWD_H */ |