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 collate_byname 14 // : public collate<charT> 15 // { 16 // public: 17 // typedef basic_string<charT> string_type; 18 // explicit collate_byname(const char*, size_t refs = 0); 19 // explicit collate_byname(const string&, size_t refs = 0); 20 // protected: 21 // ~collate_byname(); 22 // }; 23 24 #include <locale> 25 #include <string> 26 #include <cassert> 27 28 #include <stdio.h> 29 30 #include "platform_support.h" // locale name macros 31 32 int main() 33 { 34 std::locale l(LOCALE_en_US_UTF_8); 35 { 36 assert(std::has_facet<std::collate_byname<char> >(l)); 37 assert(&std::use_facet<std::collate<char> >(l) 38 == &std::use_facet<std::collate_byname<char> >(l)); 39 } 40 { 41 assert(std::has_facet<std::collate_byname<wchar_t> >(l)); 42 assert(&std::use_facet<std::collate<wchar_t> >(l) 43 == &std::use_facet<std::collate_byname<wchar_t> >(l)); 44 } 45 } 46