17026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//===----------------------------------------------------------------------===//
27026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//
37026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//                     The LLVM Compiler Infrastructure
47026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//
5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
77026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//
87026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//===----------------------------------------------------------------------===//
97026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
10c79549b70e66c251c15dd145c964edb70fa2e2b3Dan Albert// UNSUPPORTED: c++98, c++03
11c79549b70e66c251c15dd145c964edb70fa2e2b3Dan Albert
127026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// <regex>
137026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
147026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// template <class charT, class traits = regex_traits<charT>> class basic_regex;
157026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
167026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// basic_regex&
177026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//    assign(initializer_list<charT> il,
187026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//           flag_type f = regex_constants::ECMAScript);
197026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
207026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <regex>
217026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <cassert>
226dfff1c9b9147641601574c953e208ece17f27d8Marshall Clow#include "test_macros.h"
237026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
247026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnantint main()
257026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant{
267026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    std::regex r2;
277026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    r2.assign({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'});
287026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.flags() == std::regex::ECMAScript);
297026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.mark_count() == 2);
307026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
317026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    r2.assign({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex::extended);
327026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.flags() == std::regex::extended);
337026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.mark_count() == 2);
347026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant}
35