Provided by: libstdc++-9-doc_9.5.0-3ubuntu1_all bug

NAME

       std::match_results< _Bi_iter, _Alloc > - The results of a match or search operation.

SYNOPSIS

       #include <regex.h>

       Inherits std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >.

   Public Member Functions
       match_results (const match_results &)=default
           Copy constructs a match_results.
       match_results (match_results &&) noexcept=default
           Move constructs a match_results.
       ~match_results ()=default
           Destroys a match_results object.
       template<typename _Out_iter > _Out_iter format (_Out_iter __out, const match_results<
           _Bi_iter, _Alloc >::char_type *__fmt_first, const match_results< _Bi_iter, _Alloc
           >::char_type *__fmt_last, match_flag_type __flags) const
       match_results & operator= (const match_results &)=default
           Assigns rhs to *this.
       match_results & operator= (match_results &&)=default
           Move-assigns rhs to *this.
       bool ready () const noexcept
           Indicates if the match_results is ready.

   Private Member Functions
       iterator begin () noexcept
       iterator end () noexcept
       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 _Bp , typename _Ap , typename _Cp , typename _Rp ,
           __detail::_RegexExecutorPolicy , bool > bool __detail::__regex_algo_impl (_Bp, _Bp,
           match_results< _Bp, _Ap > &, const basic_regex< _Cp, _Rp > &,
           regex_constants::match_flag_type)
       template<typename , typename , typename , bool > class __detail::_Executor
       template<typename , typename , typename > class regex_iterator

   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

   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.

   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.
       _GLIBCXX_NODISCARD bool empty () const noexcept
           Indicates if the match_results contains no results.

   10.3 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.

   10.4 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

   10.5 Allocator
       allocator_type get_allocator () const noexcept
           Gets a copy of the allocator.

   10.6 Swap
       void swap (match_results &__that) noexcept
           Swaps the contents of two match_results.

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 1583 of file regex.h.

Member Typedef Documentation

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       _Alloc std::match_results< _Bi_iter, _Alloc >::allocator_type
       Definition at line 1619 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       __iter_traits::value_type std::match_results< _Bi_iter, _Alloc >::char_type
       Definition at line 1620 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       _Base_type::const_iterator std::match_results< _Bi_iter, _Alloc >::const_iterator
       Definition at line 1615 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef const
       value_type& std::match_results< _Bi_iter, _Alloc >::const_reference
       Definition at line 1613 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       __iter_traits::difference_type std::match_results< _Bi_iter, _Alloc >::difference_type
       Definition at line 1617 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       const_iterator std::match_results< _Bi_iter, _Alloc >::iterator
       Definition at line 1616 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       value_type& std::match_results< _Bi_iter, _Alloc >::reference
       Definition at line 1614 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       allocator_traits<_Alloc>::size_type std::match_results< _Bi_iter, _Alloc >::size_type
       Definition at line 1618 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       std::basic_string<char_type> std::match_results< _Bi_iter, _Alloc >::string_type
       Definition at line 1621 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >> typedef
       sub_match<_Bi_iter> std::match_results< _Bi_iter, _Alloc >::value_type
       Definition at line 1612 of file regex.h.

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
           size() returns 0 and str() returns an empty string.

       Definition at line 1635 of file regex.h.

   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
           size() returns 0 and str() returns an empty string.

       Definition at line 1638 of file regex.h.

   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.

       Definition at line 1813 of file regex.h.

       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.

       Definition at line 1820 of file regex.h.

       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.

       Definition at line 1834 of file regex.h.

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

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >>
       _GLIBCXX_NODISCARD bool std::match_results< _Bi_iter, _Alloc >::empty () const [inline],
       [noexcept]
       Indicates if the match_results contains no results.

       Return values
           true The match_results object is empty.
           false The match_results object is not empty.

       Definition at line 1709 of file regex.h.

       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.

       Definition at line 1827 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==().

   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
           ready() == true

       Definition at line 1863 of file regex.h.

       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
           ready() == true

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

   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 match_results< _Bi_iter, _Alloc >::char_type * __fmt_first, const
       match_results< _Bi_iter, _Alloc >::char_type * __fmt_last, match_flag_type __flags) const
       Definition at line 355 of file regex.tcc.

   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 1875 of file regex.h.

       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
           ready() == true

       Definition at line 1887 of file regex.h.

       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.

       Definition at line 1909 of file regex.h.

       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
           __sub indicates 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 1728 of file regex.h.

   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
           the number of matches found.

       Definition at line 1700 of file regex.h.

       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
           __sub indicates 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 1771 of file regex.h.

   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
           __sub indicates 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 1743 of file regex.h.

       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
           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 1788 of file regex.h.

       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
           true The object has a fully-established result state.
           false The object is not ready.

       Definition at line 1679 of file regex.h.

       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
           the number of matches found.

       Definition at line 1696 of file regex.h.

       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
           __sub indicates 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 1756 of file regex.h.

   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 1803 of file regex.h.

       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.

       Definition at line 1923 of file regex.h.

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

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

Friends And Related Function Documentation

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >>
       template<typename , typename , typename , bool > friend class __detail::_Executor [friend]
       Definition at line 1933 of file regex.h.

   template<typename _Bi_iter , typename _Alloc  = allocator<sub_match<_Bi_iter> >>
       template<typename , typename , typename > friend class regex_iterator [friend]
       Definition at line 1936 of file regex.h.

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

libstdc++                                Tue Feb 21 2std::match_results< _Bi_iter, _Alloc >(3cxx)