xref: /aosp_15_r20/external/libcxx/test/std/re/re.traits/getloc.pass.cpp (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
2*58b9f456SAndroid Build Coastguard Worker //
3*58b9f456SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*58b9f456SAndroid Build Coastguard Worker //
5*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open
6*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details.
7*58b9f456SAndroid Build Coastguard Worker //
8*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*58b9f456SAndroid Build Coastguard Worker 
10*58b9f456SAndroid Build Coastguard Worker // REQUIRES: locale.en_US.UTF-8
11*58b9f456SAndroid Build Coastguard Worker 
12*58b9f456SAndroid Build Coastguard Worker // <regex>
13*58b9f456SAndroid Build Coastguard Worker 
14*58b9f456SAndroid Build Coastguard Worker // template <class charT> struct regex_traits;
15*58b9f456SAndroid Build Coastguard Worker 
16*58b9f456SAndroid Build Coastguard Worker // locale_type getloc()const;
17*58b9f456SAndroid Build Coastguard Worker 
18*58b9f456SAndroid Build Coastguard Worker #include <regex>
19*58b9f456SAndroid Build Coastguard Worker #include <cassert>
20*58b9f456SAndroid Build Coastguard Worker 
21*58b9f456SAndroid Build Coastguard Worker #include "test_macros.h"
22*58b9f456SAndroid Build Coastguard Worker #include "platform_support.h" // locale name macros
23*58b9f456SAndroid Build Coastguard Worker 
main()24*58b9f456SAndroid Build Coastguard Worker int main()
25*58b9f456SAndroid Build Coastguard Worker {
26*58b9f456SAndroid Build Coastguard Worker     {
27*58b9f456SAndroid Build Coastguard Worker         std::regex_traits<char> t1;
28*58b9f456SAndroid Build Coastguard Worker         assert(t1.getloc().name() == "C");
29*58b9f456SAndroid Build Coastguard Worker         std::regex_traits<wchar_t> t2;
30*58b9f456SAndroid Build Coastguard Worker         assert(t2.getloc().name() == "C");
31*58b9f456SAndroid Build Coastguard Worker     }
32*58b9f456SAndroid Build Coastguard Worker     {
33*58b9f456SAndroid Build Coastguard Worker         std::locale::global(std::locale(LOCALE_en_US_UTF_8));
34*58b9f456SAndroid Build Coastguard Worker         std::regex_traits<char> t1;
35*58b9f456SAndroid Build Coastguard Worker         assert(t1.getloc().name() == LOCALE_en_US_UTF_8);
36*58b9f456SAndroid Build Coastguard Worker         std::regex_traits<wchar_t> t2;
37*58b9f456SAndroid Build Coastguard Worker         assert(t2.getloc().name() == LOCALE_en_US_UTF_8);
38*58b9f456SAndroid Build Coastguard Worker     }
39*58b9f456SAndroid Build Coastguard Worker }
40