| std::match_results< _Bi_iter, _Alloc >(3) | Library Functions Manual | std::match_results< _Bi_iter, _Alloc >(3) | 
NAME¶
std::match_results< _Bi_iter, _Alloc > - The results of a match or search operation.
SYNOPSIS¶
Inherits std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >.
Public Types¶
28.10 Public Types
  
  
  typedef sub_match< _Bi_iter > value_type
  
  typedef const value_type & const_reference
  
  typedef value_type & reference
  
  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
  
  Indicates if the match_results is ready.
  
28.10.1 Construction, Copying, and Destruction
  
  
  match_results ()
  
  Constructs a default match_results container. match_results (const
    _Alloc &__a) noexcept
  
  Constructs a default match_results container. match_results (const
    match_results &)=default
  
  Copy constructs a match_results. match_results (match_results
    &&) noexcept=default
  
  Move constructs a match_results. match_results & operator=
    (const match_results &)=default
  
  Assigns rhs to *this. match_results & operator=
    (match_results &&)=default
  
  Move-assigns rhs to *this. ~match_results ()=default
  
  Destroys a match_results object.
  
  
28.10.2 Size
  
  
  size_type size () const noexcept
  
  Gets the number of matches and submatches. size_type max_size () const
    noexcept
  
  Gets the number of matches and submatches. bool empty () const noexcept
  
  Indicates if the match_results contains no results.
  
  
28.10.4 Element Access
  
  
  difference_type length (size_type __sub=0) const
  
  Gets the length of the indicated submatch. difference_type position
    (size_type __sub=0) const
  
  Gets the offset of the beginning of the indicated submatch. string_type
    str (size_type __sub=0) const
  
  Gets the match or submatch converted to a string type. const_reference
    operator[] (size_type __sub) const
  
  Gets a sub_match reference for the match or submatch. const_reference
    prefix () const
  
  Gets a sub_match representing the match prefix. const_reference
    suffix () const
  
  Gets a sub_match representing the match suffix. const_iterator begin ()
    const noexcept
  
  Gets an iterator to the start of the sub_match collection. const_iterator
    cbegin () const noexcept
  
  Gets an iterator to the start of the sub_match collection. const_iterator
    end () const noexcept
  
  Gets an iterator to one-past-the-end of the collection. const_iterator
    cend () const noexcept
  
  Gets an iterator to one-past-the-end of the collection.
  
  
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
  
  Gets a copy of the allocator.
  
  
28.10.7 Swap
  
  
  void swap (match_results &__that) noexcept
  
  Swaps the contents of two match_results.
  
  
Private Member Functions¶
iterator begin () noexcept
  
  iterator end () noexcept
  
  allocator_type get_allocator () const noexcept
  
  Get a copy of the memory allocation object. const_reference
    operator[] (size_type __n) const noexcept
  
  Subscript access to the data contained in the vector. reference
    operator[] (size_type __n) noexcept
  
  Subscript access to the data contained in the vector. void swap
    (vector &__x) noexcept
  
  Swaps data with another vector.
  
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.
Constructor & Destructor Documentation¶
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
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> std::match_results< _Bi_iter, _Alloc >::match_results (const _Alloc & __a) [inline], [explicit], [noexcept]¶
Constructs a default match_results container.
Postcondition
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.
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> std::match_results< _Bi_iter, _Alloc >::match_results (match_results< _Bi_iter, _Alloc > &&) [default], [noexcept]¶
Move constructs a 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¶
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> const_iterator std::match_results< _Bi_iter, _Alloc >::begin () const [inline], [noexcept]¶
Gets an iterator to the start of the sub_match collection.
References std::vector< _Tp, _Alloc >::begin().
Referenced by std::match_results< _Bi_iter, _Alloc >::cbegin(), and std::operator==().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> const_iterator std::match_results< _Bi_iter, _Alloc >::cbegin () const [inline], [noexcept]¶
Gets an iterator to the start of the sub_match collection.
References std::match_results< _Bi_iter, _Alloc >::begin().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> const_iterator std::match_results< _Bi_iter, _Alloc >::cend () const [inline], [noexcept]¶
Gets an iterator to one-past-the-end of the collection.
References std::match_results< _Bi_iter, _Alloc >::end().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> bool std::match_results< _Bi_iter, _Alloc >::empty () const [inline], [noexcept]¶
Indicates if the match_results contains no results.
Return values
false The match_results object is not empty.
References std::vector< _Tp, _Alloc >::size().
Referenced by std::operator==().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> const_iterator std::match_results< _Bi_iter, _Alloc >::end () const [inline], [noexcept]¶
Gets an iterator to one-past-the-end of the collection.
References std::vector< _Tp, _Alloc >::empty(), and std::vector< _Tp, _Alloc >::end().
Referenced by std::match_results< _Bi_iter, _Alloc >::cend(), and std::operator==().
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]¶
Precondition
References std::basic_string< _CharT, _Traits, _Alloc >::data(), std::match_results< _Bi_iter, _Alloc >::format(), and std::basic_string< _CharT, _Traits, _Alloc >::size().
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
Referenced by std::match_results< _Bi_iter, _Alloc >::format().
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
References std::back_inserter(), and std::match_results< _Bi_iter, _Alloc >::format().
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
References std::back_inserter(), and std::match_results< _Bi_iter, _Alloc >::format().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> allocator_type std::match_results< _Bi_iter, _Alloc >::get_allocator () const [inline], [noexcept]¶
Gets a copy of the allocator.
References std::vector< _Tp, _Alloc >::get_allocator().
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
Precondition
This function returns the length of the indicated submatch, or the length of the entire match if __sub is zero (the default).
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> size_type std::match_results< _Bi_iter, _Alloc >::max_size () const [inline], [noexcept]¶
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
References std::vector< _Tp, _Alloc >::max_size().
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.
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.
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
Precondition
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.
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
Precondition
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.
References std::distance().
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
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.
Referenced by std::operator==().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> bool std::match_results< _Bi_iter, _Alloc >::ready () const [inline], [noexcept]¶
Indicates if the match_results is ready.
Return values
false The object is not ready.
References std::vector< _Tp, _Alloc >::empty().
Referenced by std::operator==().
template<typename _Bi_iter , typename _Alloc = allocator<sub_match<_Bi_iter> >> size_type std::match_results< _Bi_iter, _Alloc >::size () const [inline], [noexcept]¶
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
References std::vector< _Tp, _Alloc >::empty(), and std::vector< _Tp, _Alloc >::size().
Referenced by std::operator==().
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
Precondition
This function gets the submatch (or match, if __sub is zero) extracted from the target range and converted to the associated string type.
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
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.
Referenced by std::operator==().
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) [inline], [noexcept]¶
Swaps the contents of two match_results.
References std::swap(), and std::vector< _Tp, _Alloc >::swap().
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
| Mon Dec 18 2023 | libstdc++ |