1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // NetBSD does not support LC_COLLATE at the moment
15 // template <class charT> class collate_byname
17 // string_type transform(const charT* low, const charT* high) const;
19 // REQUIRES: locale.en_US.UTF-8
27 #include "platform_support.h" // locale name macros
32 std::locale l(LOCALE_en_US_UTF_8);
34 std::string x("1234");
35 const std::collate<char>& f = std::use_facet<std::collate<char> >(l);
36 assert(f.transform(x.data(), x.data() + x.size()) != x);
39 std::wstring x(L"1234");
40 const std::collate<wchar_t>& f = std::use_facet<std::collate<wchar_t> >(l);
41 assert(f.transform(x.data(), x.data() + x.size()) != x);
47 std::string x("1234");
48 const std::collate<char>& f = std::use_facet<std::collate<char> >(l);
49 assert(f.transform(x.data(), x.data() + x.size()) == x);
52 std::wstring x(L"1234");
53 const std::collate<wchar_t>& f = std::use_facet<std::collate<wchar_t> >(l);
54 assert(f.transform(x.data(), x.data() + x.size()) == x);