## include/boost/regex/v5/sub_match.hpp

97.6% Lines (162/166) 72.5% List of functions (150/208)
sub_match.hpp
f(x) Functions (208)
Function Calls Lines Blocks
<unknown function 40> :40 – – – boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match() :40 2439570x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match() :40 5x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > > >::sub_match() :40 24504x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::sub_match() :40 349848x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::sub_match() :40 2016x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >::sub_match() :40 24504x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::sub_match() :40 2447483x 100.0% 100.0% boost::sub_match<boost::bidirectional_iterator_archetype<char16_t> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<char> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<unsigned char> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<wchar_t> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int> >::sub_match() :40 96804x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int> >::sub_match() :40 2016x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> >::sub_match() :40 96531x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> >::sub_match() :40 2017x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::sub_match() :40 66x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int> >::sub_match() :40 2016x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int> >::sub_match() :40 2016x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int> >::sub_match() :40 96804x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<char const*, int> >::sub_match() :40 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<unsigned char const*, int> >::sub_match() :40 96528x 100.0% 100.0% boost::sub_match<char const*>::sub_match() :40 161607x 100.0% 100.0% boost::sub_match<char16_t const*>::sub_match() :40 24507x 100.0% 100.0% boost::sub_match<char32_t const*>::sub_match() :40 1x 100.0% 100.0% boost::sub_match<std::_Deque_iterator<char, char&, char*> >::sub_match() :40 1x 100.0% 100.0% boost::sub_match<unsigned char const*>::sub_match() :40 24504x 100.0% 100.0% boost::sub_match<wchar_t const*>::sub_match() :40 75411x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) :41 861157x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match(__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) :41 484x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > > >::sub_match(__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >) :41 19788x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::sub_match(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) :41 110848x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::sub_match(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) :41 5220x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >::sub_match(__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >) :41 19788x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::sub_match(__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >) :41 864878x 100.0% 100.0% boost::sub_match<boost::bidirectional_iterator_archetype<char16_t> >::sub_match(boost::bidirectional_iterator_archetype<char16_t>) :41 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<char> >::sub_match(boost::bidirectional_iterator_archetype<char>) :41 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<unsigned char> >::sub_match(boost::bidirectional_iterator_archetype<unsigned char>) :41 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<wchar_t> >::sub_match(boost::bidirectional_iterator_archetype<wchar_t>) :41 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int> >::sub_match(boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int>) :41 28740x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int> >::sub_match(boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int>) :41 5220x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int> >::sub_match(boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int>) :41 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int> >::sub_match(boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int>) :41 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> >::sub_match(boost::u16_to_u32_iterator<char16_t const*, int>) :41 28467x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> >::sub_match(boost::u16_to_u32_iterator<char16_t const*, unsigned int>) :41 5222x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::sub_match(boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int>) :41 16x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int> >::sub_match(boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int>) :41 5220x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int> >::sub_match(boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int>) :41 5220x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int> >::sub_match(boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int>) :41 28740x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int> >::sub_match(boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int>) :41 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int> >::sub_match(boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int>) :41 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int> >::sub_match(boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int>) :41 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int> >::sub_match(boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int>) :41 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<char const*, int> >::sub_match(boost::u8_to_u32_iterator<char const*, int>) :41 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<unsigned char const*, int> >::sub_match(boost::u8_to_u32_iterator<unsigned char const*, int>) :41 28464x 100.0% 100.0% boost::sub_match<char const*>::sub_match(char const*) :41 16407x 100.0% 100.0% boost::sub_match<char16_t const*>::sub_match(char16_t const*) :41 19610x 100.0% 100.0% boost::sub_match<char32_t const*>::sub_match(char32_t const*) :41 1x 100.0% 100.0% boost::sub_match<std::_Deque_iterator<char, char&, char*> >::sub_match(std::_Deque_iterator<char, char&, char*>) :41 2022x 100.0% 100.0% boost::sub_match<unsigned char const*>::sub_match(unsigned char const*) :41 19608x 100.0% 100.0% boost::sub_match<wchar_t const*>::sub_match(wchar_t const*) :41 14499x 100.0% 100.0% _ZNK5boost9sub_matchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEcvNS6_IcT_T0_EEIS8_S9_EEv :43 9x 100.0% 73.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::length() const :47 121028x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::length() const :47 479x 100.0% 91.0% boost::sub_match<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::length() const :47 157496x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::length() const :47 3204x 100.0% 91.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::length() const :47 120936x 100.0% 100.0% boost::sub_match<boost::bidirectional_iterator_archetype<wchar_t> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int> >::length() const :47 3204x 100.0% 91.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> >::length() const :47 3205x 100.0% 91.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int> >::length() const :47 3204x 100.0% 91.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int> >::length() const :47 3204x 100.0% 91.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<char const*, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<unsigned char const*, int> >::length() const :47 0 0.0% 0.0% boost::sub_match<char const*>::length() const :47 10x 100.0% 91.0% boost::sub_match<char16_t const*>::length() const :47 1x 100.0% 91.0% boost::sub_match<std::_Deque_iterator<char, char&, char*> >::length() const :47 0 0.0% 0.0% boost::sub_match<wchar_t const*>::length() const :47 10x 100.0% 91.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::str() const :52 2530x 90.9% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::str() const :52 87x 90.9% 90.0% boost::sub_match<char const*>::str[abi:cxx11]() const :52 20x 90.9% 94.0% boost::sub_match<char16_t const*>::str[abi:cxx11]() const :52 0 0.0% 0.0% boost::sub_match<wchar_t const*>::str[abi:cxx11]() const :52 20x 90.9% 94.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::compare(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :68 216x 75.0% 89.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator==(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :83 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator!=(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :85 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator<(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :87 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator>(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :89 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator<=(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :91 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator>=(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const :93 36x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::captures() const :99 1054x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::captures() const :99 371x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::captures() const :99 455x 100.0% 100.0% boost::sub_match<char const*>::captures() const :99 0 0.0% 0.0% boost::sub_match<wchar_t const*>::captures() const :99 0 0.0% 0.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::get_captures() const :108 1207x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_captures() const :108 461x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::get_captures() const :108 461x 100.0% 100.0% boost::sub_match<char const*>::get_captures() const :108 0 0.0% 0.0% boost::sub_match<wchar_t const*>::get_captures() const :108 0 0.0% 0.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) :120 13534675x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) :120 3677x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > > > const&, bool) :120 73248x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > > const&, bool) :120 1598072x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > const&, bool) :120 20556x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > > const&, bool) :120 73248x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::sub_match(boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&, bool) :120 10759721x 100.0% 100.0% boost::sub_match<boost::bidirectional_iterator_archetype<char16_t> >::sub_match(boost::sub_match<boost::bidirectional_iterator_archetype<char16_t> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<char> >::sub_match(boost::sub_match<boost::bidirectional_iterator_archetype<char> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<unsigned char> >::sub_match(boost::sub_match<boost::bidirectional_iterator_archetype<unsigned char> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::bidirectional_iterator_archetype<wchar_t> >::sub_match(boost::sub_match<boost::bidirectional_iterator_archetype<wchar_t> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t const*, std::vector<char16_t, std::allocator<char16_t> > >, int> > const&, bool) :120 446712x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<__gnu_cxx::__normal_iterator<char16_t*, std::vector<char16_t, std::allocator<char16_t> > >, unsigned int> > const&, bool) :120 20556x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<boost::bidirectional_iterator_archetype<char16_t>, unsigned int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> > const&, bool) :120 445893x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> >::sub_match(boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> > const&, bool) :120 20567x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> > const&, bool) :120 734x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned int> > const&, bool) :120 20556x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, unsigned int> > const&, bool) :120 20556x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, int> > const&, bool) :120 446712x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<char>, unsigned int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<boost::bidirectional_iterator_archetype<unsigned char>, unsigned int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<char const*, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > const&, bool) :120 0 0.0% 0.0% boost::sub_match<boost::u8_to_u32_iterator<unsigned char const*, int> >::sub_match(boost::sub_match<boost::u8_to_u32_iterator<unsigned char const*, int> > const&, bool) :120 445884x 100.0% 100.0% boost::sub_match<char const*>::sub_match(boost::sub_match<char const*> const&, bool) :120 954791x 50.0% 100.0% boost::sub_match<char16_t const*>::sub_match(boost::sub_match<char16_t const*> const&, bool) :120 72714x 100.0% 100.0% boost::sub_match<char32_t const*>::sub_match(boost::sub_match<char32_t const*> const&, bool) :120 3x 100.0% 100.0% boost::sub_match<std::_Deque_iterator<char, char&, char*> >::sub_match(boost::sub_match<std::_Deque_iterator<char, char&, char*> > const&, bool) :120 3042x 100.0% 100.0% boost::sub_match<unsigned char const*>::sub_match(boost::sub_match<unsigned char const*> const&, bool) :120 72708x 100.0% 100.0% boost::sub_match<wchar_t const*>::sub_match(boost::sub_match<wchar_t const*> const&, bool) :120 363075x 50.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator=(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :135 6156426x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator=(boost::sub_match<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :135 3413x 100.0% 100.0% boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::operator=(boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&) :135 6170468x 100.0% 100.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> >::operator=(boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, int> > const&) :135 0 0.0% 0.0% boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> >::operator=(boost::sub_match<boost::u16_to_u32_iterator<char16_t const*, unsigned int> > const&) :135 7x 100.0% 100.0% boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> >::operator=(boost::sub_match<boost::u8_to_u32_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int> > const&) :135 68x 100.0% 100.0% boost::sub_match<char const*>::operator=(boost::sub_match<char const*> const&) :135 506742x 71.4% 100.0% boost::sub_match<char16_t const*>::operator=(boost::sub_match<char16_t const*> const&) :135 0 0.0% 0.0% boost::sub_match<char32_t const*>::operator=(boost::sub_match<char32_t const*> const&) :135 0 0.0% 0.0% boost::sub_match<wchar_t const*>::operator=(boost::sub_match<wchar_t const*> const&) :135 201016x 71.4% 100.0% boost::sub_match<char const*>::begin() const :149 0 0.0% 0.0% boost::sub_match<char const*>::end() const :150 0 0.0% 0.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :162 36x 100.0% 100.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :166 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :170 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :174 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :178 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :182 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :187 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::char_traits<wchar_t>, std::allocator<wchar_t> >(boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<wchar_t const*, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::value_type, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) :187 87x 100.0% 78.0% bool boost::operator==<char const*, std::char_traits<char>, std::allocator<char> >(boost::sub_match<char const*> const&, std::__cxx11::basic_string<std::iterator_traits<char const*>::value_type, std::char_traits<char>, std::allocator<char> > const&) :187 10x 100.0% 100.0% bool boost::operator==<wchar_t const*, std::char_traits<wchar_t>, std::allocator<wchar_t> >(boost::sub_match<wchar_t const*> const&, std::__cxx11::basic_string<std::iterator_traits<wchar_t const*>::value_type, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) :187 10x 100.0% 78.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :191 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :195 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :199 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :203 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :207 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :212 210x 100.0% 100.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :216 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :220 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :224 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :228 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :232 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :237 36x 100.0% 100.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :241 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :245 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :249 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :253 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :257 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :263 36x 100.0% 100.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :267 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :271 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :275 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :279 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :283 36x 100.0% 100.0% bool boost::operator==<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :288 36x 100.0% 100.0% bool boost::operator!=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :292 36x 100.0% 100.0% bool boost::operator< <__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :296 36x 100.0% 100.0% bool boost::operator><__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :300 36x 100.0% 100.0% bool boost::operator<=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :304 36x 100.0% 100.0% bool boost::operator>=<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :308 36x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :315 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::char_traits<char>, std::allocator<char> >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<char>, std::allocator<char> > const&) :324 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type>, std::allocator<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :333 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type>, std::allocator<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const*) :342 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type>, std::allocator<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :351 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type>, std::allocator<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type const&) :360 24x 100.0% 100.0% std::__cxx11::basic_string<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type, std::char_traits<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type>, std::allocator<std::iterator_traits<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::value_type> > boost::operator+<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :369 24x 100.0% 100.0% std::basic_ostream<char, std::char_traits<char> >& boost::operator<< <char, std::char_traits<char>, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(std::basic_ostream<char, std::char_traits<char> >&, boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) :378 421x 100.0% 78.0%

Line | TLA | Hits | Source Code
--- | --- | --- | ---
1 |  |  | /*
2 |  |  | *
3 |  |  | * Copyright (c) 1998-2002
4 |  |  | * John Maddock
5 |  |  | *
6 |  |  | * Use, modification and distribution are subject to the
7 |  |  | * Boost Software License, Version 1.0. (See accompanying file
8 |  |  | * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 |  |  | *
10 |  |  | */
11 |  |  |
12 |  |  | /*
13 |  |  | * LOCATION: see http://www.boost.org for most recent version.
14 |  |  | * FILE sub_match.cpp
15 |  |  | * VERSION see <boost/version.hpp>
16 |  |  | * DESCRIPTION: Declares template class sub_match.
17 |  |  | */
18 |  |  |
19 |  |  | #ifndef BOOST_REGEX_V5_SUB_MATCH_HPP
20 |  |  | #define BOOST_REGEX_V5_SUB_MATCH_HPP
21 |  |  |
22 |  |  | #ifndef BOOST_REGEX_AS_MODULE
23 |  |  | #include <iterator>
24 |  |  | #include <utility>
25 |  |  | #endif
26 |  |  |
27 |  |  | namespace boost{
28 |  |  |
29 |  |  | BOOST_REGEX_MODULE_EXPORT template <class BidiIterator>
30 |  |  | struct sub_match : public std::pair<BidiIterator, BidiIterator>
31 |  |  | {
32 |  |  | typedef typename std::iterator_traits<BidiIterator>::value_type value_type;
33 |  |  | typedef typename std::iterator_traits<BidiIterator>::difference_type difference_type;
34 |  |  | typedef BidiIterator iterator_type;
35 |  |  | typedef BidiIterator iterator;
36 |  |  | typedef BidiIterator const_iterator;
37 |  |  |
38 |  |  | bool matched;
39 |  |  |
40 |  | 5968759x | sub_match() : std::pair<BidiIterator, BidiIterator>(), matched(false) {}
41 |  | 2089619x | sub_match(BidiIterator i) : std::pair<BidiIterator, BidiIterator>(i, i), matched(false) {}
42 |  |  | template <class T, class A>
43 |  | 9x | operator std::basic_string<value_type, T, A> ()const
44 |  |  | {
45 |  | 23x | return matched ? std::basic_string<value_type, T, A>(this->first, this->second) : std::basic_string<value_type, T, A>();
46 |  |  | }
47 |  | 415981x | difference_type length()const
48 |  |  | {
49 |  | 828002x | difference_type n = matched ? std::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0;
50 |  | 415981x | return n;
51 |  |  | }
52 |  | 2657x | std::basic_string<value_type> str()const
53 |  |  | {
54 |  | 2657x | std::basic_string<value_type> result;
55 |  | 2657x | if(matched)
56 |  |  | {
57 |  | 2652x | std::size_t len = std::distance((BidiIterator)this->first, (BidiIterator)this->second);
58 |  | 2652x | result.reserve(len);
59 |  | 2652x | BidiIterator i = this->first;
60 |  | 28556x | while(i != this->second)
61 |  |  | {
62 |  | 25904x | result.append(1, *i);
63 |  | 25904x | ++i;
64 |  |  | }
65 |  |  | }
66 |  | 2657x | return result;
67 |  | ✗ | }
68 |  | 216x | int compare(const sub_match& s)const
69 |  |  | {
70 |  | 216x | if(matched != s.matched)
71 |  | ✗ | return static_cast<int>(matched) - static_cast<int>(s.matched);
72 |  | 216x | return str().compare(s.str());
73 |  |  | }
74 |  |  | int compare(const std::basic_string<value_type>& s)const
75 |  |  | {
76 |  |  | return str().compare(s);
77 |  |  | }
78 |  |  | int compare(const value_type* p)const
79 |  |  | {
80 |  |  | return str().compare(p);
81 |  |  | }
82 |  |  |
83 |  | 36x | bool operator==(const sub_match& that)const
84 |  | 36x | { return compare(that) == 0; }
85 |  | 36x | bool operator !=(const sub_match& that)const
86 |  | 36x | { return compare(that) != 0; }
87 |  | 36x | bool operator<(const sub_match& that)const
88 |  | 36x | { return compare(that) < 0; }
89 |  | 36x | bool operator>(const sub_match& that)const
90 |  | 36x | { return compare(that) > 0; }
91 |  | 36x | bool operator<=(const sub_match& that)const
92 |  | 36x | { return compare(that) <= 0; }
93 |  | 36x | bool operator>=(const sub_match& that)const
94 |  | 36x | { return compare(that) >= 0; }
95 |  |  |
96 |  |  | #ifdef BOOST_REGEX_MATCH_EXTRA
97 |  |  | typedef std::vector<sub_match<BidiIterator> > capture_sequence_type;
98 |  |  |
99 |  | 1880x | const capture_sequence_type& captures()const
100 |  |  | {
101 |  | 1880x | if(!m_captures)
102 |  | 51x | m_captures.reset(new capture_sequence_type());
103 |  | 1880x | return *m_captures;
104 |  |  | }
105 |  |  | //
106 |  |  | // Private implementation API: DO NOT USE!
107 |  |  | //
108 |  | 2129x | capture_sequence_type& get_captures()const
109 |  |  | {
110 |  | 2129x | if(!m_captures)
111 |  | 152x | m_captures.reset(new capture_sequence_type());
112 |  | 2129x | return *m_captures;
113 |  |  | }
114 |  |  |
115 |  |  | private:
116 |  |  | mutable std::unique_ptr<capture_sequence_type> m_captures;
117 |  |  | public:
118 |  |  |
119 |  |  | #endif
120 |  | 29397700x | sub_match(const sub_match& that, bool
121 |  |  | #ifdef BOOST_REGEX_MATCH_EXTRA
122 |  |  | deep_copy
123 |  |  | #endif
124 |  |  | = true
125 |  |  | )
126 |  |  | : std::pair<BidiIterator, BidiIterator>(that),
127 |  | 29397700x | matched(that.matched)
128 |  |  | {
129 |  |  | #ifdef BOOST_REGEX_MATCH_EXTRA
130 |  | 2822x | if(that.m_captures)
131 |  | 1876x | if(deep_copy)
132 |  | 1876x | m_captures.reset(new capture_sequence_type(*(that.m_captures)));
133 |  |  | #endif
134 |  | 29397700x | }
135 |  | 14847818x | sub_match& operator=(const sub_match& that)
136 |  |  | {
137 |  | 14847818x | this->first = that.first;
138 |  | 14847818x | this->second = that.second;
139 |  | 14847818x | matched = that.matched;
140 |  |  | #ifdef BOOST_REGEX_MATCH_EXTRA
141 |  | 272x | if(that.m_captures)
142 |  | 244x | get_captures() = *(that.m_captures);
143 |  |  | #endif
144 |  | 14847818x | return *this;
145 |  |  | }
146 |  |  | //
147 |  |  | // Make this type a range, for both Boost.Range, and C++11:
148 |  |  | //
149 |  | ✗ | BidiIterator begin()const { return this->first; }
150 |  | ✗ | BidiIterator end()const { return this->second; }
151 |  |  | };
152 |  |  |
153 |  |  | BOOST_REGEX_MODULE_EXPORT typedef sub_match<const char*> csub_match;
154 |  |  | BOOST_REGEX_MODULE_EXPORT typedef sub_match<std::string::const_iterator> ssub_match;
155 |  |  | #ifndef BOOST_NO_WREGEX
156 |  |  | BOOST_REGEX_MODULE_EXPORT typedef sub_match<const wchar_t*> wcsub_match;
157 |  |  | BOOST_REGEX_MODULE_EXPORT typedef sub_match<std::wstring::const_iterator> wssub_match;
158 |  |  | #endif
159 |  |  |
160 |  |  | // comparison to std::basic_string<> part 1:
161 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
162 |  | 36x | inline bool operator == (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
163 |  |  | const sub_match<RandomAccessIterator>& m)
164 |  | 36x | { return s.compare(m.str()) == 0; }
165 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
166 |  | 36x | inline bool operator != (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
167 |  |  | const sub_match<RandomAccessIterator>& m)
168 |  | 36x | { return s.compare(m.str()) != 0; }
169 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
170 |  | 36x | inline bool operator < (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
171 |  |  | const sub_match<RandomAccessIterator>& m)
172 |  | 36x | { return s.compare(m.str()) < 0; }
173 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
174 |  | 36x | inline bool operator <= (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
175 |  |  | const sub_match<RandomAccessIterator>& m)
176 |  | 36x | { return s.compare(m.str()) <= 0; }
177 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
178 |  | 36x | inline bool operator >= (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
179 |  |  | const sub_match<RandomAccessIterator>& m)
180 |  | 36x | { return s.compare(m.str()) >= 0; }
181 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
182 |  | 36x | inline bool operator > (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
183 |  |  | const sub_match<RandomAccessIterator>& m)
184 |  | 36x | { return s.compare(m.str()) > 0; }
185 |  |  | // comparison to std::basic_string<> part 2:
186 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
187 |  | 143x | inline bool operator == (const sub_match<RandomAccessIterator>& m,
188 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
189 |  | 143x | { return m.str().compare(s) == 0; }
190 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
191 |  | 36x | inline bool operator != (const sub_match<RandomAccessIterator>& m,
192 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
193 |  | 36x | { return m.str().compare(s) != 0; }
194 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
195 |  | 36x | inline bool operator < (const sub_match<RandomAccessIterator>& m,
196 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
197 |  | 36x | { return m.str().compare(s) < 0; }
198 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
199 |  | 36x | inline bool operator > (const sub_match<RandomAccessIterator>& m,
200 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
201 |  | 36x | { return m.str().compare(s) > 0; }
202 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
203 |  | 36x | inline bool operator <= (const sub_match<RandomAccessIterator>& m,
204 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
205 |  | 36x | { return m.str().compare(s) <= 0; }
206 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
207 |  | 36x | inline bool operator >= (const sub_match<RandomAccessIterator>& m,
208 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
209 |  | 36x | { return m.str().compare(s) >= 0; }
210 |  |  | // comparison to const charT* part 1:
211 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
212 |  | 210x | inline bool operator == (const sub_match<RandomAccessIterator>& m,
213 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
214 |  | 210x | { return m.str().compare(s) == 0; }
215 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
216 |  | 36x | inline bool operator != (const sub_match<RandomAccessIterator>& m,
217 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
218 |  | 36x | { return m.str().compare(s) != 0; }
219 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
220 |  | 36x | inline bool operator > (const sub_match<RandomAccessIterator>& m,
221 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
222 |  | 36x | { return m.str().compare(s) > 0; }
223 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
224 |  | 36x | inline bool operator < (const sub_match<RandomAccessIterator>& m,
225 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
226 |  | 36x | { return m.str().compare(s) < 0; }
227 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
228 |  | 36x | inline bool operator >= (const sub_match<RandomAccessIterator>& m,
229 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
230 |  | 36x | { return m.str().compare(s) >= 0; }
231 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
232 |  | 36x | inline bool operator <= (const sub_match<RandomAccessIterator>& m,
233 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const* s)
234 |  | 36x | { return m.str().compare(s) <= 0; }
235 |  |  | // comparison to const charT* part 2:
236 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
237 |  | 36x | inline bool operator == (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
238 |  |  | const sub_match<RandomAccessIterator>& m)
239 |  | 36x | { return m.str().compare(s) == 0; }
240 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
241 |  | 36x | inline bool operator != (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
242 |  |  | const sub_match<RandomAccessIterator>& m)
243 |  | 36x | { return m.str().compare(s) != 0; }
244 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
245 |  | 36x | inline bool operator < (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
246 |  |  | const sub_match<RandomAccessIterator>& m)
247 |  | 36x | { return m.str().compare(s) > 0; }
248 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
249 |  | 36x | inline bool operator > (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
250 |  |  | const sub_match<RandomAccessIterator>& m)
251 |  | 36x | { return m.str().compare(s) < 0; }
252 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
253 |  | 36x | inline bool operator <= (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
254 |  |  | const sub_match<RandomAccessIterator>& m)
255 |  | 36x | { return m.str().compare(s) >= 0; }
256 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
257 |  | 36x | inline bool operator >= (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
258 |  |  | const sub_match<RandomAccessIterator>& m)
259 |  | 36x | { return m.str().compare(s) <= 0; }
260 |  |  |
261 |  |  | // comparison to const charT& part 1:
262 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
263 |  | 36x | inline bool operator == (const sub_match<RandomAccessIterator>& m,
264 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
265 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) == 0; }
266 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
267 |  | 36x | inline bool operator != (const sub_match<RandomAccessIterator>& m,
268 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
269 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) != 0; }
270 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
271 |  | 36x | inline bool operator > (const sub_match<RandomAccessIterator>& m,
272 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
273 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) > 0; }
274 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
275 |  | 36x | inline bool operator < (const sub_match<RandomAccessIterator>& m,
276 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
277 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) < 0; }
278 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
279 |  | 36x | inline bool operator >= (const sub_match<RandomAccessIterator>& m,
280 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
281 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) >= 0; }
282 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
283 |  | 36x | inline bool operator <= (const sub_match<RandomAccessIterator>& m,
284 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
285 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) <= 0; }
286 |  |  | // comparison to const charT* part 2:
287 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
288 |  | 36x | inline bool operator == (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
289 |  |  | const sub_match<RandomAccessIterator>& m)
290 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) == 0; }
291 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
292 |  | 36x | inline bool operator != (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
293 |  |  | const sub_match<RandomAccessIterator>& m)
294 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) != 0; }
295 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
296 |  | 36x | inline bool operator < (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
297 |  |  | const sub_match<RandomAccessIterator>& m)
298 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) > 0; }
299 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
300 |  | 36x | inline bool operator > (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
301 |  |  | const sub_match<RandomAccessIterator>& m)
302 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) < 0; }
303 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
304 |  | 36x | inline bool operator <= (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
305 |  |  | const sub_match<RandomAccessIterator>& m)
306 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) >= 0; }
307 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
308 |  | 36x | inline bool operator >= (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
309 |  |  | const sub_match<RandomAccessIterator>& m)
310 |  | 36x | { return m.str().compare(0, m.length(), &s, 1) <= 0; }
311 |  |  |
312 |  |  | // addition operators:
313 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
314 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>
315 |  | 24x | operator + (const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
316 |  |  | const sub_match<RandomAccessIterator>& m)
317 |  |  | {
318 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
319 |  | 24x | result.reserve(s.size() + m.length() + 1);
320 |  | 46x | return result.append(s).append(m.first, m.second);
321 |  | 24x | }
322 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator, class traits, class Allocator>
323 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>
324 |  | 24x | operator + (const sub_match<RandomAccessIterator>& m,
325 |  |  | const std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
326 |  |  | {
327 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
328 |  | 24x | result.reserve(s.size() + m.length() + 1);
329 |  | 46x | return result.append(m.first, m.second).append(s);
330 |  | 24x | }
331 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
332 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type>
333 |  | 24x | operator + (typename std::iterator_traits<RandomAccessIterator>::value_type const* s,
334 |  |  | const sub_match<RandomAccessIterator>& m)
335 |  |  | {
336 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;
337 |  | 24x | result.reserve(std::char_traits<typename std::iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
338 |  | 46x | return result.append(s).append(m.first, m.second);
339 |  | 24x | }
340 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
341 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type>
342 |  | 24x | operator + (const sub_match<RandomAccessIterator>& m,
343 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const * s)
344 |  |  | {
345 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;
346 |  | 24x | result.reserve(std::char_traits<typename std::iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
347 |  | 46x | return result.append(m.first, m.second).append(s);
348 |  | 24x | }
349 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
350 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type>
351 |  | 24x | operator + (typename std::iterator_traits<RandomAccessIterator>::value_type const& s,
352 |  |  | const sub_match<RandomAccessIterator>& m)
353 |  |  | {
354 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;
355 |  | 24x | result.reserve(m.length() + 2);
356 |  | 46x | return result.append(1, s).append(m.first, m.second);
357 |  | 24x | }
358 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
359 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type>
360 |  | 24x | operator + (const sub_match<RandomAccessIterator>& m,
361 |  |  | typename std::iterator_traits<RandomAccessIterator>::value_type const& s)
362 |  |  | {
363 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;
364 |  | 24x | result.reserve(m.length() + 2);
365 |  | 46x | return result.append(m.first, m.second).append(1, s);
366 |  | 24x | }
367 |  |  | BOOST_REGEX_MODULE_EXPORT template <class RandomAccessIterator>
368 |  |  | inline std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type>
369 |  | 24x | operator + (const sub_match<RandomAccessIterator>& m1,
370 |  |  | const sub_match<RandomAccessIterator>& m2)
371 |  |  | {
372 |  | 24x | std::basic_string<typename std::iterator_traits<RandomAccessIterator>::value_type> result;
373 |  | 24x | result.reserve(m1.length() + m2.length() + 1);
374 |  | 46x | return result.append(m1.first, m1.second).append(m2.first, m2.second);
375 |  | 24x | }
376 |  |  | BOOST_REGEX_MODULE_EXPORT template <class charT, class traits, class RandomAccessIterator>
377 |  |  | std::basic_ostream<charT, traits>&
378 |  | 421x | operator << (std::basic_ostream<charT, traits>& os,
379 |  |  | const sub_match<RandomAccessIterator>& s)
380 |  |  | {
381 |  | 421x | return (os << s.str());
382 |  |  | }
383 |  |  |
384 |  |  | } // namespace boost
385 |  |  |
386 |  |  | #endif
387 |  |  |
388 |  |  |