15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                     The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <regex>
110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// template <class charT, class traits = regex_traits<charT>> class basic_regex;
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
14a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// void swap(basic_regex& e);
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <regex>
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <cassert>
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int main()
200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch{
210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    std::regex r1("(a([bc]))");
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    std::regex r2;
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    r2.swap(r1);
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    assert(r1.flags() == std::regex::ECMAScript);
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    assert(r1.mark_count() == 0);
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    assert(r2.flags() == std::regex::ECMAScript);
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    assert(r2.mark_count() == 2);
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)