Home | History | Annotate | Download | only in locale.numpunct
      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // <locale>
     11 
     12 // template <class charT>
     13 // class numpunct
     14 //     : public locale::facet
     15 // {
     16 // public:
     17 //     typedef charT char_type;
     18 //     typedef basic_string<charT> string_type;
     19 //     static locale::id id;
     20 
     21 #include <locale>
     22 #include <type_traits>
     23 #include <cassert>
     24 
     25 int main()
     26 {
     27     std::locale l = std::locale::classic();
     28     {
     29         assert(std::has_facet<std::numpunct<char> >(l));
     30         const std::numpunct<char>& f = std::use_facet<std::numpunct<char> >(l);
     31         {
     32             (void)std::numpunct<char>::id;
     33         }
     34         static_assert((std::is_same<std::numpunct<char>::char_type, char>::value), "");
     35         static_assert((std::is_same<std::numpunct<char>::string_type, std::string>::value), "");
     36         static_assert((std::is_base_of<std::locale::facet, std::numpunct<char> >::value), "");
     37     }
     38     {
     39         assert(std::has_facet<std::numpunct<wchar_t> >(l));
     40         const std::numpunct<wchar_t>& f = std::use_facet<std::numpunct<wchar_t> >(l);
     41         {
     42             (void)std::numpunct<wchar_t>::id;
     43         }
     44         static_assert((std::is_same<std::numpunct<wchar_t>::char_type, wchar_t>::value), "");
     45         static_assert((std::is_same<std::numpunct<wchar_t>::string_type, std::wstring>::value), "");
     46         static_assert((std::is_base_of<std::locale::facet, std::numpunct<wchar_t> >::value), "");
     47     }
     48 }
     49