blob: 021d92d4ab94b9cfb16e3d67f0b8577fea1dbc95 [file] [log] [blame]
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <locale>
// template <class charT>
// class collate_byname
// : public collate<charT>
// {
// public:
// typedef basic_string<charT> string_type;
// explicit collate_byname(const char*, size_t refs = 0);
// explicit collate_byname(const string&, size_t refs = 0);
// protected:
// ~collate_byname();
// };
#include <locale>
#include <string>
#include <cassert>
#include <stdio.h>
#include "../../../../platform_support.h" // locale name macros
int main()
{
std::locale l(LOCALE_en_US_UTF_8);
{
assert(std::has_facet<std::collate_byname<char> >(l));
assert(&std::use_facet<std::collate<char> >(l)
== &std::use_facet<std::collate_byname<char> >(l));
}
{
assert(std::has_facet<std::collate_byname<wchar_t> >(l));
assert(&std::use_facet<std::collate<wchar_t> >(l)
== &std::use_facet<std::collate_byname<wchar_t> >(l));
}
}