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 charT, class traits> 157026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// void swap(basic_regex<charT, traits>& lhs, basic_regex<charT, traits>& rhs); 167026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant 177026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <regex> 187026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <cassert> 197026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant 207026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnantint main() 217026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant{ 227026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant std::regex r1("(a([bc]))"); 237026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant std::regex r2; 247026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant swap(r2, r1); 257026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert(r1.flags() == std::regex::ECMAScript); 267026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert(r1.mark_count() == 0); 277026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert(r2.flags() == std::regex::ECMAScript); 287026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert(r2.mark_count() == 2); 297026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant} 30