xref: /aosp_15_r20/external/libcxx/test/std/re/re.traits/imbue.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 imbue(locale_type l);
17*58b9f456SAndroid Build Coastguard Worker 
18*58b9f456SAndroid Build Coastguard Worker #include <regex>
19*58b9f456SAndroid Build Coastguard Worker #include <locale>
20*58b9f456SAndroid Build Coastguard Worker #include <cassert>
21*58b9f456SAndroid Build Coastguard Worker 
22*58b9f456SAndroid Build Coastguard Worker #include "test_macros.h"
23*58b9f456SAndroid Build Coastguard Worker #include "platform_support.h" // locale name macros
24*58b9f456SAndroid Build Coastguard Worker 
main()25*58b9f456SAndroid Build Coastguard Worker int main()
26*58b9f456SAndroid Build Coastguard Worker {
27*58b9f456SAndroid Build Coastguard Worker     {
28*58b9f456SAndroid Build Coastguard Worker         std::regex_traits<char> t;
29*58b9f456SAndroid Build Coastguard Worker         std::locale loc = t.imbue(std::locale(LOCALE_en_US_UTF_8));
30*58b9f456SAndroid Build Coastguard Worker         assert(loc.name() == "C");
31*58b9f456SAndroid Build Coastguard Worker         assert(t.getloc().name() == LOCALE_en_US_UTF_8);
32*58b9f456SAndroid Build Coastguard Worker     }
33*58b9f456SAndroid Build Coastguard Worker }
34