libstdc++
std::match_results< _Bi_iter, _Alloc > Class Template Reference
Inheritance diagram for std::match_results< _Bi_iter, _Alloc >:
[legend]

Public Types

28.10 Public Types
typedef sub_match< _Bi_iter > value_type
 
typedef const value_typeconst_reference
 
typedef value_typereference
 
typedef _Base_type::const_iterator const_iterator
 
typedef const_iterator iterator
 
typedef __iter_traits::difference_type difference_type
 
typedef allocator_traits< _Alloc >::size_type size_type
 
typedef _Alloc allocator_type
 
typedef __iter_traits::value_type char_type
 
typedef std::basic_string< char_type > string_type
 

Public Member Functions

bool ready () const noexcept
 
28.10.1 Construction, Copying, and Destruction
 match_results ()
 
 match_results (const _Alloc &__a) noexcept
 
 match_results (const match_results &)=default
 
 match_results (match_results &&) noexcept=default
 
match_resultsoperator= (const match_results &)=default
 
match_resultsoperator= (match_results &&)=default
 
 ~match_results ()=default
 
28.10.2 Size
size_type size () const noexcept
 
size_type max_size () const noexcept
 
bool empty () const noexcept
 
28.10.4 Element Access
difference_type length (size_type __sub=0) const
 
difference_type position (size_type __sub=0) const
 
string_type str (size_type __sub=0) const
 
const_reference operator[] (size_type __sub) const
 
const_reference prefix () const
 
const_reference suffix () const
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator end () const noexcept
 
const_iterator cend () const noexcept
 
28.10.5 Formatting

These functions perform formatted substitution of the matched character sequences into their target. The format specifiers and escape sequences accepted by these functions are determined by their flags parameter as documented above.

template<typename _Out_iter >
_Out_iter format (_Out_iter __out, const char_type *__fmt_first, const char_type *__fmt_last, match_flag_type __flags=regex_constants::format_default) const
 
template<typename _Out_iter , typename _St , typename _Sa >
_Out_iter format (_Out_iter __out, const basic_string< char_type, _St, _Sa > &__fmt, match_flag_type __flags=regex_constants::format_default) const
 
template<typename _St , typename _Sa >
basic_string< char_type, _St, _Sa > format (const basic_string< char_type, _St, _Sa > &__fmt, match_flag_type __flags=regex_constants::format_default) const
 
string_type format (const char_type *__fmt, match_flag_type __flags=regex_constants::format_default) const
 
28.10.6 Allocator
allocator_type get_allocator () const noexcept
 
28.10.7 Swap
void swap (match_results &__that) noexcept
 

Private Member Functions

constexpr iterator begin () noexcept
 
constexpr iterator end () noexcept
 
constexpr allocator_type get_allocator () const noexcept
 
constexpr const_reference operator[] (size_type __n) const noexcept
 
constexpr reference operator[] (size_type __n) noexcept
 
constexpr void swap (vector &__x) noexcept
 

Friends

template<typename , typename , typename >
class regex_iterator
 

Detailed Description

template<typename _Bi_iter, typename _Alloc = allocator<sub_match<_Bi_iter> >>
class std::match_results< _Bi_iter, _Alloc >

The results of a match or search operation.

A collection of character sequences representing the result of a regular expression match. Storage for the collection is allocated and freed as necessary by the member functions of class template match_results.

This class satisfies the Sequence requirements, with the exception that only the operations defined for a const-qualified Sequence are supported.

The sub_match object stored at index 0 represents sub-expression 0, i.e. the whole match. In this case the sub_match member matched is always true. The sub_match object stored at index n denotes what matched the marked sub-expression n within the matched expression. If the sub-expression n participated in a regular expression match then the sub_match member matched evaluates to true, and members first and second denote the range of characters [first, second) which formed that match. Otherwise matched is false, and members first and second point to the end of the sequence that was searched.

Definition at line 1705 of file regex.h.

Constructor & Destructor Documentation

◆ match_results() [1/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
std::match_results< _Bi_iter, _Alloc >::match_results ( )
inline

Constructs a default match_results container.

Postcondition
size() returns 0 and str() returns an empty string.

Definition at line 1758 of file regex.h.

◆ match_results() [2/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
std::match_results< _Bi_iter, _Alloc >::match_results ( const _Alloc &  __a)
inlineexplicitnoexcept

Constructs a default match_results container.

Postcondition
size() returns 0 and str() returns an empty string.

Definition at line 1765 of file regex.h.

◆ match_results() [3/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
std::match_results< _Bi_iter, _Alloc >::match_results ( const match_results< _Bi_iter, _Alloc > &  )
default

Copy constructs a match_results.

◆ match_results() [4/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
std::match_results< _Bi_iter, _Alloc >::match_results ( match_results< _Bi_iter, _Alloc > &&  )
defaultnoexcept

Move constructs a match_results.

◆ ~match_results()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
std::match_results< _Bi_iter, _Alloc >::~match_results ( )
default

Destroys a match_results object.

Member Function Documentation

◆ begin()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_iterator std::match_results< _Bi_iter, _Alloc >::begin ( ) const
inlinenoexcept

Gets an iterator to the start of the sub_match collection.

Definition at line 1938 of file regex.h.

References std::vector< _Tp, _Alloc >::begin().

Referenced by std::match_results< _Bi_iter, _Alloc >::cbegin(), and std::operator==().

◆ cbegin()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_iterator std::match_results< _Bi_iter, _Alloc >::cbegin ( ) const
inlinenoexcept

Gets an iterator to the start of the sub_match collection.

Definition at line 1945 of file regex.h.

References std::match_results< _Bi_iter, _Alloc >::begin().

◆ cend()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_iterator std::match_results< _Bi_iter, _Alloc >::cend ( ) const
inlinenoexcept

Gets an iterator to one-past-the-end of the collection.

Definition at line 1959 of file regex.h.

References std::match_results< _Bi_iter, _Alloc >::end().

◆ empty()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
bool std::match_results< _Bi_iter, _Alloc >::empty ( ) const
inlinenoexcept

Indicates if the match_results contains no results.

Return values
trueThe match_results object is empty.
falseThe match_results object is not empty.

Definition at line 1834 of file regex.h.

References std::vector< _Tp, _Alloc >::size().

Referenced by std::operator==().

◆ end()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_iterator std::match_results< _Bi_iter, _Alloc >::end ( ) const
inlinenoexcept

Gets an iterator to one-past-the-end of the collection.

Definition at line 1952 of file regex.h.

References std::vector< _Tp, _Alloc >::empty(), and std::vector< _Tp, _Alloc >::end().

Referenced by std::match_results< _Bi_iter, _Alloc >::cend(), and std::operator==().

◆ format() [1/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
template<typename _Out_iter , typename _St , typename _Sa >
_Out_iter std::match_results< _Bi_iter, _Alloc >::format ( _Out_iter  __out,
const basic_string< char_type, _St, _Sa > &  __fmt,
match_flag_type  __flags = regex_constants::format_default 
) const
inline

◆ format() [2/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
template<typename _Out_iter >
_Out_iter std::match_results< _Bi_iter, _Alloc >::format ( _Out_iter  __out,
const char_type *  __fmt_first,
const char_type *  __fmt_last,
match_flag_type  __flags = regex_constants::format_default 
) const
Precondition
ready() == true

Referenced by std::match_results< _Bi_iter, _Alloc >::format().

◆ format() [3/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
template<typename _St , typename _Sa >
basic_string<char_type, _St, _Sa> std::match_results< _Bi_iter, _Alloc >::format ( const basic_string< char_type, _St, _Sa > &  __fmt,
match_flag_type  __flags = regex_constants::format_default 
) const
inline
Precondition
ready() == true

Definition at line 2000 of file regex.h.

References std::back_inserter(), and std::match_results< _Bi_iter, _Alloc >::format().

◆ format() [4/4]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
string_type std::match_results< _Bi_iter, _Alloc >::format ( const char_type *  __fmt,
match_flag_type  __flags = regex_constants::format_default 
) const
inline
Precondition
ready() == true

Definition at line 2012 of file regex.h.

References std::back_inserter(), and std::match_results< _Bi_iter, _Alloc >::format().

◆ get_allocator()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
allocator_type std::match_results< _Bi_iter, _Alloc >::get_allocator ( ) const
inlinenoexcept

Gets a copy of the allocator.

Definition at line 2034 of file regex.h.

References std::vector< _Tp, _Alloc >::get_allocator().

◆ length()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
difference_type std::match_results< _Bi_iter, _Alloc >::length ( size_type  __sub = 0) const
inline

Gets the length of the indicated submatch.

Parameters
__subindicates the submatch.
Precondition
ready() == true

This function returns the length of the indicated submatch, or the length of the entire match if __sub is zero (the default).

Definition at line 1853 of file regex.h.

◆ max_size()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
size_type std::match_results< _Bi_iter, _Alloc >::max_size ( ) const
inlinenoexcept

Gets the number of matches and submatches.

The number of matches for a given regular expression will be either 0 if there was no match or mark_count() + 1 if a match was successful. Some matches may be empty.

Returns
the number of matches found.

Definition at line 1825 of file regex.h.

References std::vector< _Tp, _Alloc >::max_size().

◆ operator=() [1/2]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
match_results& std::match_results< _Bi_iter, _Alloc >::operator= ( const match_results< _Bi_iter, _Alloc > &  )
default

Assigns rhs to *this.

◆ operator=() [2/2]

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
match_results& std::match_results< _Bi_iter, _Alloc >::operator= ( match_results< _Bi_iter, _Alloc > &&  )
default

Move-assigns rhs to *this.

◆ operator[]()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_reference std::match_results< _Bi_iter, _Alloc >::operator[] ( size_type  __sub) const
inline

Gets a sub_match reference for the match or submatch.

Parameters
__subindicates the submatch.
Precondition
ready() == true

This function gets a reference to the indicated submatch, or the entire match if __sub is zero.

If __sub >= size() then this function returns a sub_match with a special value indicating no submatch.

Definition at line 1896 of file regex.h.

◆ position()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
difference_type std::match_results< _Bi_iter, _Alloc >::position ( size_type  __sub = 0) const
inline

Gets the offset of the beginning of the indicated submatch.

Parameters
__subindicates the submatch.
Precondition
ready() == true

This function returns the offset from the beginning of the target sequence to the beginning of the submatch, unless the value of __sub is zero (the default), in which case this function returns the offset from the beginning of the target sequence to the beginning of the match.

Definition at line 1868 of file regex.h.

References std::distance().

◆ prefix()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_reference std::match_results< _Bi_iter, _Alloc >::prefix ( ) const
inline

Gets a sub_match representing the match prefix.

Precondition
ready() == true

This function gets a reference to a sub_match object representing the part of the target range between the start of the target range and the start of the match.

Definition at line 1913 of file regex.h.

Referenced by std::operator==().

◆ ready()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
bool std::match_results< _Bi_iter, _Alloc >::ready ( ) const
inlinenoexcept

Indicates if the match_results is ready.

Return values
trueThe object has a fully-established result state.
falseThe object is not ready.

Definition at line 1804 of file regex.h.

References std::vector< _Tp, _Alloc >::empty().

Referenced by std::operator==().

◆ size()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
size_type std::match_results< _Bi_iter, _Alloc >::size ( ) const
inlinenoexcept

Gets the number of matches and submatches.

The number of matches for a given regular expression will be either 0 if there was no match or mark_count() + 1 if a match was successful. Some matches may be empty.

Returns
the number of matches found.

Definition at line 1821 of file regex.h.

References std::vector< _Tp, _Alloc >::empty(), and std::vector< _Tp, _Alloc >::size().

Referenced by std::operator==().

◆ str()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
string_type std::match_results< _Bi_iter, _Alloc >::str ( size_type  __sub = 0) const
inline

Gets the match or submatch converted to a string type.

Parameters
__subindicates the submatch.
Precondition
ready() == true

This function gets the submatch (or match, if __sub is zero) extracted from the target range and converted to the associated string type.

Definition at line 1881 of file regex.h.

◆ suffix()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
const_reference std::match_results< _Bi_iter, _Alloc >::suffix ( ) const
inline

Gets a sub_match representing the match suffix.

Precondition
ready() == true

This function gets a reference to a sub_match object representing the part of the target range between the end of the match and the end of the target range.

Definition at line 1928 of file regex.h.

Referenced by std::operator==().

◆ swap()

template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >>
void std::match_results< _Bi_iter, _Alloc >::swap ( match_results< _Bi_iter, _Alloc > &  __that)
inlinenoexcept

Swaps the contents of two match_results.

Definition at line 2048 of file regex.h.

References std::swap(), and std::vector< _Tp, _Alloc >::swap().


The documentation for this class was generated from the following file: