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)// 85e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)//===----------------------------------------------------------------------===// 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <regex> 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// template <class BidirectionalIterator> class sub_match; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// int compare(const value_type* s) const; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <regex> 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <cassert> 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int main() 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){ 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) typedef char CharT; 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::sub_match<const CharT*> SM; 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SM sm = SM(); 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SM sm2 = SM(); 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(sm.compare("") == 0); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const CharT s[] = {'1', '2', '3', 0}; 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sm.first = s; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sm.second = s + 3; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sm.matched = true; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(sm.compare("") > 0); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert(sm.compare("123") == 0); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef wchar_t CharT; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::sub_match<const CharT*> SM; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SM sm = SM(); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SM sm2 = SM(); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(sm.compare(L"") == 0); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const CharT s[] = {'1', '2', '3', 0}; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sm.first = s; 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sm.second = s + 3; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sm.matched = true; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(sm.compare(L"") > 0); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(sm.compare(L"123") == 0); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)