Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/regex/sub match"

From cppreference.com
< cpp‎ | regex
m (Text replace - "{{tdcl list end" to "{{dcl list end")
m (Text replace - "{{tdcl" to "{{dcl")
Line 19: Line 19:
  
 
{{dcl list begin}}
 
{{dcl list begin}}
{{tdcl list header | regex}}
+
{{dcl list header | regex}}
{{tdcl list hitem | Type | Definition}}
+
{{dcl list hitem | Type | Definition}}
{{tdcl list item | {{tt|csub_match}} | {{c|sub_match<const char*>}}}}
+
{{dcl list item | {{tt|csub_match}} | {{c|sub_match<const char*>}}}}
{{tdcl list item | {{tt|wcsub_match}} | {{c|sub_match<const wchar_t*>}}}}
+
{{dcl list item | {{tt|wcsub_match}} | {{c|sub_match<const wchar_t*>}}}}
{{tdcl list item | {{tt|ssub_match}} | {{c|sub_match<std::string::const_iterator>}}}}
+
{{dcl list item | {{tt|ssub_match}} | {{c|sub_match<std::string::const_iterator>}}}}
{{tdcl list item | {{tt|wssub_match}} | {{c|sub_match<std::wstring::const_iterator>}}}}
+
{{dcl list item | {{tt|wssub_match}} | {{c|sub_match<std::wstring::const_iterator>}}}}
 
{{dcl list end}}
 
{{dcl list end}}
  
 
===Member types===
 
===Member types===
 
{{dcl list begin}}
 
{{dcl list begin}}
{{tdcl list hitem | Member type | Definition}}
+
{{dcl list hitem | Member type | Definition}}
{{tdcl list item | {{tt|iterator}} | {{c|BidirectionalIterator}}}}
+
{{dcl list item | {{tt|iterator}} | {{c|BidirectionalIterator}}}}
{{tdcl list item | {{tt|value_type}} | {{c|std::iterator_traits<BidirectionalIterator>::value_type}}}}
+
{{dcl list item | {{tt|value_type}} | {{c|std::iterator_traits<BidirectionalIterator>::value_type}}}}
{{tdcl list item | {{tt|difference_type}} | {{c|std::iterator_traits<BidirectionalIterator>::difference_type}}}}
+
{{dcl list item | {{tt|difference_type}} | {{c|std::iterator_traits<BidirectionalIterator>::difference_type}}}}
{{tdcl list item | {{tt|string_type}} | {{c|std::basic_string<value_type>}}}}
+
{{dcl list item | {{tt|string_type}} | {{c|std::basic_string<value_type>}}}}
 
{{dcl list end}}
 
{{dcl list end}}
  

Revision as of 01:40, 12 June 2012

Template:cpp/regex/sub match/sidebar

Defined in header <regex>
template<

    class BidirectionalIterator

> class sub_match;
(since C++11)

The class template sub_match is used by the regular expression engine to denote sequences of characters matched by marked sub-expressions. A match is a [begin, end) pair within the target range matched by the regular expression, but with additional observer functions to enhance code clarity.

Only the default constructor is publicly accessible. Instances of sub_match are normally constructed and populated as a part of a std::match_results container during the processing of one of the regex algorithms.

The member functions return defined default values unless the matched member is true.

sub_match inherits from std::pair<BidirectionalIterator, BidirectionalIterator>, although it cannot be treated as a std::pair object because member functions such as swap and assignment will not work as expected.

Several specializations for common character sequence types are provided:

Defined in header <regex>
Type Definition
csub_match sub_match<const char*>
wcsub_match sub_match<const wchar_t*>
ssub_match sub_match<std::string::const_iterator>
wssub_match sub_match<std::wstring::const_iterator>

Contents

Member types

Member type Definition
iterator BidirectionalIterator
value_type std::iterator_traits<BidirectionalIterator>::value_type
difference_type std::iterator_traits<BidirectionalIterator>::difference_type
string_type std::basic_string<value_type>

Member objects

matched Indicates if this match was successful.

Inherited from std::pair

first Start of the match sequence.
second One-past-the-end of the match sequence.

Member functions

Template:cpp/regex/sub match/dcl list constructorTemplate:cpp/regex/sub match/dcl list lengthTemplate:cpp/regex/sub match/dcl list strTemplate:cpp/regex/sub match/dcl list compare
Observers

Non-member functions

Template:cpp/regex/dcl list operator cmp
outputs the matched character subsequence
(function template)

See also

iterates through regex submatches
(class template)