127405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant//===----------------------------------------------------------------------===// 227405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// 327405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// The LLVM Compiler Infrastructure 427405f91a83821e659963bec5f3e71be7e4c08e6Howard 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. 727405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// 827405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant//===----------------------------------------------------------------------===// 927405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 1027405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// <regex> 1127405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 1227405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// class match_results<BidirectionalIterator, Allocator> 1327405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 1427405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant// void swap(match_results& that); 1527405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 1627405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant#include <regex> 1727405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant#include <cassert> 1827405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 1927405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnantvoid 2027405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnanttest() 2127405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant{ 2227405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant std::match_results<const char*> m1; 2327405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant const char s[] = "abcdefghijk"; 2427405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant assert(std::regex_search(s, m1, std::regex("cd((e)fg)hi"))); 2527405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant std::match_results<const char*> m2; 2627405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 2727405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant std::match_results<const char*> m1_save = m1; 2827405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant std::match_results<const char*> m2_save = m2; 2927405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 3027405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant m1.swap(m2); 3127405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 3227405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant assert(m1 == m2_save); 3327405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant assert(m2 == m1_save); 3427405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant} 3527405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant 3627405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnantint main() 3727405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant{ 3827405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant test(); 3927405f91a83821e659963bec5f3e71be7e4c08e6Howard Hinnant} 40