std::sub_match< _BiIter >(3cxx)

NAME
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.
void swap (sub_match &__s) noexcept(__is_nothrow_swappable< _BiIter >::value)
Swap the values of two sub_match objects.

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

  Related Symbols
(Note that these are not member symbols.)

template<typename _BiIter > bool operator== (const sub_match< _BiIter > &__lhs, const sub_match< _BiIter > &__rhs)
Tests the equivalence of two regular expression submatches.
template<typename _BiIter > auto operator (const sub_match< _BiIter > &__lhs, const sub_match< _BiIter > &__rhs) noexcept(__detail::__is_contiguous_iter< _BiIter >::value)
Three-way comparison of two regular expression submatches.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc > bool operator== (const sub_match< _Bi_iter > &__lhs, const __sub_match_string< _Bi_iter, _Ch_traits, _Ch_alloc > &__rhs)
Tests the equivalence of a regular expression submatch and a string.
template<typename _Bi_iter , typename _Ch_traits , typename _Alloc > auto operator (const sub_match< _Bi_iter > &__lhs, const __sub_match_string< _Bi_iter, _Ch_traits, _Alloc > &__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
Three-way comparison of a regular expression submatch and a string.
template<typename _Bi_iter > bool operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const *__rhs)
Tests the equivalence of a regular expression submatch and a C string.
template<typename _Bi_iter > auto operator (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const *__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
Three-way comparison of a regular expression submatch and a C string.
template<typename _Bi_iter > bool operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const &__rhs)
Tests the equivalence of a regular expression submatch and a character.
template<typename _Bi_iter > auto operator (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const &__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
Three-way comparison of a regular expression submatch and a character.
template<typename _Ch_type , typename _Ch_traits , typename _Bi_iter > basic_ostream< _Ch_type, _Ch_traits > & operator<< (basic_ostream< _Ch_type, _Ch_traits > &__os, const sub_match< _Bi_iter > &__m)
Inserts a matched string into an output stream.

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

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.

  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.

  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.

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

Gets the length of the matching sequence.

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.

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.

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

  template<typename _BiIter > void std::sub_match< _BiIter >::swap (sub_match< _BiIter > & __s) [inline], [noexcept]

Swap the values of two sub_match objects.

References std::pair< _T1, _T2 >::swap().

Author

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