libstdc++: std::sub_match< _BiIter > Class Template Reference (original) (raw)

#include <[regex](a00176%5Fsource.html)>

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
difference_type length () const noexcept
operator string_type () const
string_type str () const
void swap (sub_match &__s) noexcept(__is_nothrow_swappable< _BiIter >::value)
int compare (const string_type &__s) const
int compare (const value_type *__s) const
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)
template<typename _BiIter >
auto operator (const sub_match< _BiIter > &__lhs, const sub_match< _BiIter > &__rhs) noexcept(__detail::__is_contiguous_iter< _BiIter >::value)
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)
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)
template<typename _Bi_iter >
bool operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const *__rhs)
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)
template<typename _Bi_iter >
bool operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const &__rhs)
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)
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)

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.

difference_type

template<typename _BiIter >

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

iterator

template<typename _BiIter >

string_type

template<typename _BiIter >

value_type

template<typename _BiIter >

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

template<typename _BiIter >

constexpr std::sub_match< _BiIter >::sub_match ( ) inlineconstexprnoexcept

compare() [1/3]

template<typename _BiIter >

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.

compare() [2/3]

template<typename _BiIter >

compare() [3/3]

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.

length()

template<typename _BiIter >

difference_type std::sub_match< _BiIter >::length ( ) const inlinenoexcept

operator string_type()

template<typename _BiIter >

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().

str()

template<typename _BiIter >

swap()

template<typename _BiIter >

first

template<typename _BiIter >

matched

template<typename _BiIter >

second

template<typename _BiIter >


The documentation for this class was generated from the following file: