date_order_wide.pass.cpp revision b64f8b07c104c6cc986570ac8ee0ed16a9f23976
1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//===----------------------------------------------------------------------===//
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//                     The LLVM Compiler Infrastructure
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// This file is dual licensed under the MIT and the University of Illinois Open
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Source Licenses. See LICENSE.TXT for details.
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//===----------------------------------------------------------------------===//
9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// <locale>
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// class time_get_byname<charT, InputIterator>
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// dateorder date_order() const;
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <locale>
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <cassert>
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include "iterators.h"
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef std::time_get_byname<wchar_t, input_iterator<const wchar_t*> > F;
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverclass my_facet
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    : public F
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverpublic:
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    explicit my_facet(const std::string& nm, std::size_t refs = 0)
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        : F(nm, refs) {}
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver};
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverint main()
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        const my_facet f("en_US", 1);
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        assert(f.date_order() == std::time_base::mdy);
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        const my_facet f("fr_FR", 1);
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        assert(f.date_order() == std::time_base::dmy);
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        const my_facet f("ru_RU", 1);
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        assert(f.date_order() == std::time_base::dmy);
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        const my_facet f("zh_CN", 1);
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        assert(f.date_order() == std::time_base::ymd);
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver