blob: 85235e045d883492941a9a9fdbd5a8e4f2778d11 [file] [log] [blame]
Howard Hinnant3257c982010-06-17 00:34:59 +00001// -*- C++ -*-
Howard Hinnant0ce02242010-09-28 17:19:10 +00002//===----------------------------------------------------------------------===//
Howard Hinnant3257c982010-06-17 00:34:59 +00003//
4// The LLVM Compiler Infrastructure
5//
Howard Hinnantb64f8b02010-11-16 22:09:02 +00006// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
Howard Hinnant3257c982010-06-17 00:34:59 +00008//
9//===----------------------------------------------------------------------===//
10
Dan Albertb4ed5ca2014-08-04 18:44:48 +000011// REQUIRES: locale.cs_CZ.ISO8859-2
12
Howard Hinnant3257c982010-06-17 00:34:59 +000013// <regex>
14
15// template <class charT> struct regex_traits;
16
17// template <class ForwardIterator>
18// string_type transform(ForwardIterator first, ForwardIterator last) const;
19
20#include <regex>
21#include <cassert>
Marshall Clow83e2c4d2013-01-05 03:21:01 +000022#include "test_iterators.h"
Dan Albert1d4a1ed2016-05-25 22:36:09 -070023
Ed Schouteneda3fca2015-03-16 15:09:15 +000024#include "platform_support.h" // locale name macros
25
Howard Hinnant3257c982010-06-17 00:34:59 +000026int main()
27{
28 {
29 std::regex_traits<char> t;
30 const char a[] = "a";
31 const char B[] = "B";
32 typedef forward_iterator<const char*> F;
33 assert(t.transform(F(a), F(a+1)) > t.transform(F(B), F(B+1)));
Ed Schouteneda3fca2015-03-16 15:09:15 +000034 t.imbue(std::locale(LOCALE_cs_CZ_ISO8859_2));
Howard Hinnant3257c982010-06-17 00:34:59 +000035 assert(t.transform(F(a), F(a+1)) < t.transform(F(B), F(B+1)));
36 }
37 {
38 std::regex_traits<wchar_t> t;
39 const wchar_t a[] = L"a";
40 const wchar_t B[] = L"B";
41 typedef forward_iterator<const wchar_t*> F;
42 assert(t.transform(F(a), F(a+1)) > t.transform(F(B), F(B+1)));
Ed Schouteneda3fca2015-03-16 15:09:15 +000043 t.imbue(std::locale(LOCALE_cs_CZ_ISO8859_2));
Howard Hinnant3257c982010-06-17 00:34:59 +000044 assert(t.transform(F(a), F(a+1)) < t.transform(F(B), F(B+1)));
45 }
46}