std::match_results man page

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

Synopsis

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

Public Member Functions

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

bool ready () const
Indicates if the match_results is ready.

Private Types

typedef _Alloc_traits::const_pointer const_pointer

typedef std::reverse_iterator< const_iterator > const_reverse_iterator

typedef _Base::pointer pointer

typedef std::reverse_iterator< iterator > reverse_iterator

Private Member Functions

pointer _M_allocate (size_t __n)

pointer _M_allocate_and_copy (size_type __n, _ForwardIterator __first, _ForwardIterator __last)

void _M_assign_aux (_InputIterator __first, _InputIterator __last, std::input_iterator_tag)

void _M_assign_aux (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)

void _M_assign_dispatch (_Integer __n, _Integer __val, __true_type)

void _M_assign_dispatch (_InputIterator __first, _InputIterator __last, __false_type)

size_type _M_check_len (size_type __n, const char *__s) const

void _M_deallocate (pointer __p, size_t __n)

void _M_default_append (size_type __n)

void _M_default_initialize (size_type __n)

void _M_emplace_back_aux (_Args &&... __args)

iterator _M_erase (iterator __position)

iterator _M_erase (iterator __first, iterator __last)

void _M_erase_at_end (pointer __pos) noexcept

void _M_fill_assign (size_type __n, const value_type &__val)

void _M_fill_initialize (size_type __n, const value_type &__value)

void _M_fill_insert (iterator __pos, size_type __n, const value_type &__x)

_Tp_alloc_type & _M_get_Tp_allocator () noexcept

const _Tp_alloc_type & _M_get_Tp_allocator () const noexcept

void _M_initialize_dispatch (_Integer __n, _Integer __value, __true_type)

void _M_initialize_dispatch (_InputIterator __first, _InputIterator __last, __false_type)

void _M_insert_aux (iterator __position, _Args &&... __args)

void _M_insert_dispatch (iterator __pos, _Integer __n, _Integer __val, __true_type)

void _M_insert_dispatch (iterator __pos, _InputIterator __first, _InputIterator __last, __false_type)

void _M_range_check (size_type __n) const
Safety check used only from at().
void _M_range_initialize (_InputIterator __first, _InputIterator __last, std::input_iterator_tag)

void _M_range_initialize (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)

void _M_range_insert (iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag)

void _M_range_insert (iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)

bool _M_shrink_to_fit ()

void assign (size_type __n, const value_type &__val)
Assigns a given value to a vector.
void assign (_InputIterator __first, _InputIterator __last)
Assigns a range to a vector.
void assign (initializer_list< value_type > __l)
Assigns an initializer list to a vector.
reference at (size_type __n)
Provides access to the data contained in the vector.
const_reference at (size_type __n) const
Provides access to the data contained in the vector.
reference back () noexcept

const_reference back () const noexcept

iterator begin () noexcept

size_type capacity () const noexcept

void clear () noexcept

const_reverse_iterator crbegin () const noexcept

const_reverse_iterator crend () const noexcept

sub_match< _Bi_iter > * data () noexcept

const sub_match< _Bi_iter > * data () const noexcept

iterator emplace (const_iterator __position, _Args &&... __args)
Inserts an object in vector before specified iterator.
void emplace_back (_Args &&... __args)

iterator end () noexcept

iterator erase (const_iterator __position)
Remove element at given position.
iterator erase (const_iterator __first, const_iterator __last)
Remove a range of elements.
reference front () noexcept

const_reference front () const noexcept

iterator insert (const_iterator __position, const value_type &__x)
Inserts given value into vector before specified iterator.
iterator insert (const_iterator __position, value_type &&__x)
Inserts given rvalue into vector before specified iterator.
iterator insert (const_iterator __position, initializer_list< value_type > __l)
Inserts an initializer_list into the vector.
iterator insert (const_iterator __position, size_type __n, const value_type &__x)
Inserts a number of copies of given data into the vector.
iterator insert (const_iterator __position, _InputIterator __first, _InputIterator __last)
Inserts a range into the vector.
reference operator[] (size_type __n) noexcept
Subscript access to the data contained in the vector.
const_reference operator[] (size_type __n) const noexcept
Subscript access to the data contained in the vector.
void pop_back () noexcept
Removes last element.
void push_back (const value_type &__x)
Add data to the end of the vector.
void push_back (value_type &&__x)

reverse_iterator rbegin () noexcept

const_reverse_iterator rbegin () const noexcept

reverse_iterator rend () noexcept

const_reverse_iterator rend () const noexcept

void reserve (size_type __n)
Attempt to preallocate enough memory for specified number of elements.
void resize (size_type __new_size)
Resizes the vector to the specified number of elements.
void resize (size_type __new_size, const value_type &__x)
Resizes the vector to the specified number of elements.
void shrink_to_fit ()

void swap (vector &__x) noexcept
Swaps data with another vector.

Private Attributes

_Vector_impl _M_impl

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 const_reference 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 (const _Alloc &__a=_Alloc())
Constructs a default match_results container.
match_results (const match_results &__rhs)=default
Copy constructs a match_results.
match_results (match_results &&__rhs) noexcept=default
Move constructs a match_results.
match_results & operator= (const match_results &__rhs)=default
Assigns rhs to *this.
match_results & operator= (match_results &&__rhs)=default
Move-assigns rhs to *this.
~match_results ()
Destroys a match_results object.

28.10.2 Size

size_type size () const
Gets the number of matches and submatches.
size_type max_size () const
Gets the number of matches and submatches.
bool empty () const
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
Gets an iterator to the start of the sub_match collection.
const_iterator cbegin () const
Gets an iterator to the start of the sub_match collection.
const_iterator end () const
Gets an iterator to one-past-the-end of the collection.
const_iterator cend () const
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
Gets a copy of the allocator.

10.6 Swap

void swap (match_results &__that)
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 39 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 (const _Alloc & __a = _Alloc()) [inline], [explicit]

Constructs a default match_results container.

Postcondition:

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

Definition at line 1562 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 > & __rhs) [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 > && __rhs) [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 () [inline]

Destroys a match_results object.

Definition at line 1591 of file regex.h.

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]

Gets an iterator to the start of the sub_match collection.

Definition at line 1736 of file regex.h.

Referenced by std::operator==().

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

Gets an iterator to the start of the sub_match collection.

Definition at line 1743 of file regex.h.

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

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

Definition at line 1757 of file regex.h.

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

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

Referenced by std::operator==(), and std::regex_iterator< _Bi_iter, _Ch_type, _Rx_traits >::operator==().

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

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

Definition at line 1750 of file regex.h.

Referenced by std::operator==().

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::regex_traits< _Ch_type >::value().

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

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

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

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

Gets a copy of the allocator.

Definition at line 1832 of file regex.h.

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

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

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 > & __rhs) [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 > && __rhs) [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 1694 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 1666 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 1711 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]

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

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]

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

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 1679 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 1726 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]

Swaps the contents of two match_results.

Definition at line 1846 of file regex.h.

Referenced by std::swap().

Author

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

Info

Fri Sep 16 2016 libstdc++