Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. // <locale> Forward declarations -*- C++ -*-
  2.  
  3. // Copyright (C) 1997-2013 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 bits/localefwd.h
  26.  *  This is an internal header file, included by other library headers.
  27.  *  Do not attempt to use it directly. @headername{locale}
  28.  */
  29.  
  30. //
  31. // ISO C++ 14882: 22.1  Locales
  32. //
  33.  
  34. #ifndef _LOCALE_FWD_H
  35. #define _LOCALE_FWD_H 1
  36.  
  37. #pragma GCC system_header
  38.  
  39. #include <bits/c++config.h>
  40. #include <bits/c++locale.h>  // Defines __c_locale, config-specific include
  41. #include <iosfwd>            // For ostreambuf_iterator, istreambuf_iterator
  42. #include <cctype>
  43.  
  44. namespace std _GLIBCXX_VISIBILITY(default)
  45. {
  46. _GLIBCXX_BEGIN_NAMESPACE_VERSION
  47.  
  48.   /**
  49.    *  @defgroup locales Locales
  50.    *
  51.    *  Classes and functions for internationalization and localization.
  52.    */
  53.  
  54.   // 22.1.1 Locale
  55.   class locale;
  56.  
  57.   template<typename _Facet>
  58.     bool
  59.     has_facet(const locale&) throw();
  60.  
  61.   template<typename _Facet>
  62.     const _Facet&
  63.     use_facet(const locale&);
  64.  
  65.   // 22.1.3 Convenience interfaces
  66.   template<typename _CharT>
  67.     bool
  68.     isspace(_CharT, const locale&);
  69.  
  70.   template<typename _CharT>
  71.     bool
  72.     isprint(_CharT, const locale&);
  73.  
  74.   template<typename _CharT>
  75.     bool
  76.     iscntrl(_CharT, const locale&);
  77.  
  78.   template<typename _CharT>
  79.     bool
  80.     isupper(_CharT, const locale&);
  81.  
  82.   template<typename _CharT>
  83.     bool
  84.     islower(_CharT, const locale&);
  85.  
  86.   template<typename _CharT>
  87.     bool
  88.     isalpha(_CharT, const locale&);
  89.  
  90.   template<typename _CharT>
  91.     bool
  92.     isdigit(_CharT, const locale&);
  93.  
  94.   template<typename _CharT>
  95.     bool
  96.     ispunct(_CharT, const locale&);
  97.  
  98.   template<typename _CharT>
  99.     bool
  100.     isxdigit(_CharT, const locale&);
  101.  
  102.   template<typename _CharT>
  103.     bool
  104.     isalnum(_CharT, const locale&);
  105.  
  106.   template<typename _CharT>
  107.     bool
  108.     isgraph(_CharT, const locale&);
  109.  
  110.   template<typename _CharT>
  111.     _CharT
  112.     toupper(_CharT, const locale&);
  113.  
  114.   template<typename _CharT>
  115.     _CharT
  116.     tolower(_CharT, const locale&);
  117.  
  118.   // 22.2.1 and 22.2.1.3 ctype
  119.   class ctype_base;
  120.   template<typename _CharT>
  121.     class ctype;
  122.   template<> class ctype<char>;
  123. #ifdef _GLIBCXX_USE_WCHAR_T
  124.   template<> class ctype<wchar_t>;
  125. #endif
  126.   template<typename _CharT>
  127.     class ctype_byname;
  128.   // NB: Specialized for char and wchar_t in locale_facets.h.
  129.  
  130.   class codecvt_base;
  131.   template<typename _InternT, typename _ExternT, typename _StateT>
  132.     class codecvt;
  133.   template<> class codecvt<char, char, mbstate_t>;
  134. #ifdef _GLIBCXX_USE_WCHAR_T
  135.   template<> class codecvt<wchar_t, char, mbstate_t>;
  136. #endif
  137.   template<typename _InternT, typename _ExternT, typename _StateT>
  138.     class codecvt_byname;
  139.  
  140.   // 22.2.2 and 22.2.3 numeric
  141. _GLIBCXX_BEGIN_NAMESPACE_LDBL
  142.   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
  143.     class num_get;
  144.   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
  145.     class num_put;
  146. _GLIBCXX_END_NAMESPACE_LDBL
  147.   template<typename _CharT> class numpunct;
  148.   template<typename _CharT> class numpunct_byname;
  149.  
  150.   // 22.2.4 collation
  151.   template<typename _CharT>
  152.     class collate;
  153.   template<typename _CharT> class
  154.     collate_byname;
  155.  
  156.   // 22.2.5 date and time
  157.   class time_base;
  158.   template<typename _CharT, typename _InIter =  istreambuf_iterator<_CharT> >
  159.     class time_get;
  160.   template<typename _CharT, typename _InIter =  istreambuf_iterator<_CharT> >
  161.     class time_get_byname;
  162.   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
  163.     class time_put;
  164.   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
  165.     class time_put_byname;
  166.  
  167.   // 22.2.6 money
  168.   class money_base;
  169. _GLIBCXX_BEGIN_NAMESPACE_LDBL
  170.   template<typename _CharT, typename _InIter =  istreambuf_iterator<_CharT> >
  171.     class money_get;
  172.   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
  173.     class money_put;
  174. _GLIBCXX_END_NAMESPACE_LDBL
  175.   template<typename _CharT, bool _Intl = false>
  176.     class moneypunct;
  177.   template<typename _CharT, bool _Intl = false>
  178.     class moneypunct_byname;
  179.  
  180.   // 22.2.7 message retrieval
  181.   class messages_base;
  182.   template<typename _CharT>
  183.     class messages;
  184.   template<typename _CharT>
  185.     class messages_byname;
  186.  
  187. _GLIBCXX_END_NAMESPACE_VERSION
  188. } // namespace std
  189.  
  190. #endif
  191.