Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. // <vstring.h> Forward declarations -*- C++ -*-
  2.  
  3. // Copyright (C) 2005-2015 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. /** @file ext/vstring_fwd.h
  26.  *  This is an internal header file, included by other library headers.
  27.  *  Do not attempt to use it directly. @headername{ext/vstring.h}
  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>
  37. #include <bits/allocator.h>
  38.  
  39. namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
  40. {
  41. _GLIBCXX_BEGIN_NAMESPACE_VERSION
  42.  
  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  
  68.  
  69. #if ((__cplusplus >= 201103L) \
  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.  
  86. _GLIBCXX_END_NAMESPACE_VERSION
  87. } // namespace
  88.  
  89. #endif /* _VSTRING_FWD_H */
  90.