Manpages - std_match_results.3

Table of Contents

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

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.

Definition at line 1679 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 *1715 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 *1716 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 *1711 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 1709 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 *1713 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 *1712 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 1710 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 *1714 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 1717 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 1708 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 1730 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 1737 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 1910 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 1917 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 1931 of file regex.h.

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

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

Definition at line 1806 of file regex.h.

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

Referenced by std::match_results< _Bi_iter, _Alloc >::end(), and 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 1924 of file regex.h.

References std::match_results< _Bi_iter, _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 1960 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 _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 1972 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 1984 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 2006 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 1825 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 1797 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 1868 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 1840 of file regex.h.

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 1885 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 1776 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 1793 of file regex.h.

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

Referenced by std::match_results< _Bi_iter, _Alloc >::empty(), and 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 1853 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 1900 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 2020 of file regex.h.

References std::swap(), 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 > friend class regex_iterator*= [friend]= Definition at line *2030 of file regex.h.

Author

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

Author: dt

Created: 2022-02-20 Sun 19:24