std::sub_match< _BiIter > Class Template Reference
Regular Expressions
Inheritance diagram for std::sub_match< _BiIter >:
[legend]

## Public Types

typedef __iter_traits::difference_type | difference_type
typedef _BiIter | first_type
typedef _BiIter | iterator
typedef _BiIter | second_type
typedef std::basic_string < value_type > | string_type
typedef __iter_traits::value_type | value_type

## Public Member Functions

int | compare (const sub_match &__s) const
int | compare (const string_type &__s) const
int | compare (const value_type *__s) const
difference_type | length () const
| operator string_type () const
string_type | str () const
void | swap (pair &__p) noexcept(noexcept(swap(first, __p.first))&&noexcept(swap(second, __p.second)))

## Public Attributes

_BiIter | first
bool | matched
_BiIter | 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 a similar base character type as the pattern matched by the regular expression.

The iterators that make up the pair are the usual half-open interval referencing the actual original pattern matched.

Definition at line 741 of file regex.h.

## Member Typedef Documentation

typedef _BiIter std::pair< _BiIter , _BiIter >::second_type

inherited

`first_type` is the first bound type

Definition at line 99 of file stl_pair.h.

## Member Function Documentation

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

  <0 | this matched sequence will collate before `__s`.
  =0 | this matched sequence is equivalent to `__s`.
  <0 | this matched sequence will collate after `__s`.

Definition at line 802 of file regex.h.

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

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

  <0 | this matched sequence will collate before `__s`.
  =0 | this matched sequence is equivalent to `__s`.
  <0 | this matched sequence will collate after `__s`.

Definition at line 815 of file regex.h.

template<typename _BiIter>

int std::sub_match< _BiIter >::compare | ( | const value_type * | __s | ) | const

inline

Compares this sub_match to a C-style string.

Parameters

  __s | A C-style string to compare to this sub_match.

Return values

  <0 | this matched sequence will collate before `__s`.
  =0 | this matched sequence is equivalent to `__s`.
  <0 | this matched sequence will collate after `__s`.

Definition at line 828 of file regex.h.

template<typename _BiIter>

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

inline

Gets the length of the matching sequence.

Definition at line 759 of file regex.h.

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

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

Referenced by std::sub_match< _Bi_iter >::compare(), and std::operator<<().

## Member Data Documentation

_BiIter std::pair< _BiIter , _BiIter >::first

inherited

`second_type` is the second bound type

Definition at line 101 of file stl_pair.h.

Referenced by std::sub_match< _Bi_iter >::length(), std::sub_match< _Bi_iter >::operator string_type(), and std::sub_match< _Bi_iter >::str().

_BiIter std::pair< _BiIter , _BiIter >::second

inherited

`first` is a copy of the first object

Definition at line 102 of file stl_pair.h.

Referenced by std::sub_match< _Bi_iter >::length(), std::sub_match< _Bi_iter >::operator string_type(), and std::sub_match< _Bi_iter >::str().

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

- regex.h