1 // { dg-do run { target c++11 } } 2 3 // 4 // 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca> 5 // 6 // Copyright (C) 2010-2019 Free Software Foundation, Inc. 7 // 8 // This file is part of the GNU ISO C++ Library. This library is free 9 // software; you can redistribute it and/or modify it under the 10 // terms of the GNU General Public License as published by the 11 // Free Software Foundation; either version 3, or (at your option) 12 // any later version. 13 // 14 // This library is distributed in the hope that it will be useful, 15 // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 // GNU General Public License for more details. 18 // 19 // You should have received a copy of the GNU General Public License along 20 // with this library; see the file COPYING3. If not see 21 // <http://www.gnu.org/licenses/>. 22 23 // 28.9.1 [re.submatch.members] sub_match members 24 25 #include <regex> 26 #include <testsuite_hooks.h> 27 28 29 void test01()30test01() 31 { 32 typedef std::sub_match<const char*> sm_t; 33 const char* test_data = "cabbage"; 34 sm_t::difference_type test_len = 3; 35 36 sm_t sm1; 37 sm1.first = test_data + 0; 38 sm1.second = test_data + test_len; 39 sm1.matched = true; 40 41 sm_t sm2; 42 sm2.matched = false; 43 44 VERIFY( sm1.length() == test_len ); 45 VERIFY( sm2.length() == 0 ); 46 } 47 main()48int main() 49 { 50 test01(); 51 } 52