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
107026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// <regex>
117026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
127026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// template <class charT, class traits = regex_traits<charT>> class basic_regex;
137026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
147026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// template <class string_traits, class A>
157026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//   basic_regex& assign(const basic_string<charT, string_traits, A>& s,
167026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//                       flag_type f = regex_constants::ECMAScript);
177026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
187026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <regex>
197026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <cassert>
207026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
217026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnantint main()
227026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant{
237026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    std::regex r2;
247026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    r2.assign(std::string("(a([bc]))"));
257026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.flags() == std::regex::ECMAScript);
267026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.mark_count() == 2);
277026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant
287026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    r2.assign(std::string("(a([bc]))"), std::regex::extended);
297026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.flags() == std::regex::extended);
307026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant    assert(r2.mark_count() == 2);
317026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant}
32