assign_string_flag.pass.cpp revision 7026a17a482a9f7fdd9fc41aead6a167167efb1b
17026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//===----------------------------------------------------------------------===//
27026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//
37026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//                     The LLVM Compiler Infrastructure
47026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//
57026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// This file is distributed under the University of Illinois Open Source
67026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// License. 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