std::sub_match - Man Page

std::sub_match< _BiIter >

Synopsis

#include <regex>

Public Types

typedef __iter_traits::difference_type difference_type
typedef _BiIter iterator
typedef basic_string< value_type > string_type
typedef __iter_traits::value_type value_type

Public Member Functions

int compare (const sub_match &__s) const
Compares this and another matched sequence.
difference_type length () const noexcept
Gets the length of the matching sequence.
operator string_type () const
Gets the matching sequence as a string.
string_type str () const
Gets the matching sequence as a string.

int compare (const string_type &__s) const
Compares this sub_match to a string.
int compare (const value_type *__s) const
Compares this sub_match to a string.

Public Attributes

iterator first
bool matched
iterator second

Detailed Description

template<typename _BiIter>

class std::sub_match< _BiIter >"A sequence of characters matched by a particular marked sub-expression.

An object of this class is essentially a pair of iterators marking a matched subexpression within a regular expression pattern match. Such objects can be converted to and compared with std::basic_string objects of the same character type as the pattern matched by the regular expression.

A sub_match<Iter> has a public base class of type pair<Iter, Iter>, so inherits pair's data members named first and second. The iterators that make up the pair are the usual half-open interval referencing the actual original pattern matched.

Since

C++11

Definition at line 920 of file regex.h.

Member Typedef Documentation

template<typename _BiIter > typedef __iter_traits::difference_type std::sub_match< _BiIter >::difference_type

Definition at line 929 of file regex.h.

template<typename _BiIter > typedef _BiIter std::sub_match< _BiIter >::iterator

Definition at line 930 of file regex.h.

template<typename _BiIter > typedef basic_string<value_type> std::sub_match< _BiIter >::string_type

Definition at line 931 of file regex.h.

template<typename _BiIter > typedef __iter_traits::value_type std::sub_match< _BiIter >::value_type

Definition at line 928 of file regex.h.

Constructor & Destructor Documentation

template<typename _BiIter > constexpr std::sub_match< _BiIter >::sub_match () [inline], [constexpr], [noexcept]

Definition at line 937 of file regex.h.

Member Function Documentation

template<typename _BiIter > int std::sub_match< _BiIter >::compare (const string_type & __s) const [inline]

Compares this sub_match to a string.

Parameters

__s A string to compare to this sub_match.

Return values

negative This matched sequence will collate before __s.
zero This matched sequence is equivalent to __s.
positive This matched sequence will collate after __s.

Definition at line 994 of file regex.h.

template<typename _BiIter > int std::sub_match< _BiIter >::compare (const sub_match< _BiIter > & __s) const [inline]

Compares this and another matched sequence.

Parameters

__s Another matched sequence to compare to this one.

Return values

negative This matched sequence will collate before __s.
zero This matched sequence is equivalent to __s.
positive This matched sequence will collate after __s.

Definition at line 980 of file regex.h.

Referenced by std::sub_match< _BiIter >::operator!=(), std::sub_match< _BiIter >::operator<(), std::sub_match< _BiIter >::operator<=(), std::sub_match< _BiIter >::operator==(), std::sub_match< _BiIter >::operator>(), and std::sub_match< _BiIter >::operator>=().

template<typename _BiIter > int std::sub_match< _BiIter >::compare (const value_type * __s) const [inline]

Compares this sub_match to a string.

Parameters

__s A string to compare to this sub_match.

Return values

negative This matched sequence will collate before __s.
zero This matched sequence is equivalent to __s.
positive This matched sequence will collate after __s.

Definition at line 998 of file regex.h.

template<typename _BiIter > difference_type std::sub_match< _BiIter >::length () const [inline], [noexcept]

Gets the length of the matching sequence.

Definition at line 941 of file regex.h.

References std::distance().

template<typename _BiIter > std::sub_match< _BiIter >::operator string_type () const [inline]

Gets the matching sequence as a string.

Returns

the matching sequence as a string.

This is the implicit conversion operator. It is identical to the str() member function except that it will want to pop up in unexpected places and cause a great deal of confusion and cursing from the unwary.

Definition at line 954 of file regex.h.

References std::sub_match< _BiIter >::str().

template<typename _BiIter > string_type std::sub_match< _BiIter >::str () const [inline]

Gets the matching sequence as a string.

Returns

the matching sequence as a string.

Definition at line 963 of file regex.h.

Referenced by std::sub_match< _BiIter >::operator string_type().

Member Data Documentation

template<typename _BiIter > iterator std::sub_match< _BiIter >::first

Definition at line 933 of file regex.h.

template<typename _BiIter > bool std::sub_match< _BiIter >::matched

Definition at line 935 of file regex.h.

template<typename _BiIter > iterator std::sub_match< _BiIter >::second

Definition at line 933 of file regex.h.

Author

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

Info

Thu Jan 19 2023 libstdc++