blob: be0b26dc5c2c74cf5e4b67d55b5d9eafc6c60791 [file] [log] [blame]
Howard Hinnant7026a172010-08-13 18:11:23 +00001//===----------------------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnantb64f8b02010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Howard Hinnant7026a172010-08-13 18:11:23 +00007//
8//===----------------------------------------------------------------------===//
9
10// <regex>
11
12// template <class charT, class traits = regex_traits<charT>> class basic_regex;
13
14// locale_type imbue(locale_type loc);
15
16#include <regex>
17#include <locale>
18#include <cassert>
19
Marshall Clow83e2c4d2013-01-05 03:21:01 +000020#include "platform_support.h" // locale name macros
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000021
Howard Hinnant7026a172010-08-13 18:11:23 +000022int main()
23{
24 std::regex r;
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000025 std::locale loc = r.imbue(std::locale(LOCALE_en_US_UTF_8));
Howard Hinnant7026a172010-08-13 18:11:23 +000026 assert(loc.name() == "C");
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000027 assert(r.getloc().name() == LOCALE_en_US_UTF_8);
Howard Hinnant7026a172010-08-13 18:11:23 +000028 loc = r.imbue(std::locale("C"));
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000029 assert(loc.name() == LOCALE_en_US_UTF_8);
Howard Hinnant7026a172010-08-13 18:11:23 +000030 assert(r.getloc().name() == "C");
31}