libstdc++
std::sub_match< _BiIter > Class Template Reference
Inheritance diagram for std::sub_match< _BiIter >:
Inheritance graph

Public Types

typedef iterator_traits
< _BiIter >::difference_type 
difference_type
typedef _BiIter first_type
typedef _BiIter iterator
typedef _BiIter second_type
typedef iterator_traits
< _BiIter >::value_type 
value_type

Public Member Functions

int compare (const sub_match &__s) const
int compare (const basic_string< value_type > &__s) const
int compare (const value_type *__s) const
difference_type length () const
 operator basic_string< value_type > () const
basic_string< value_type > str () const
void swap (pair &&__p)

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 1086 of file tr1_impl/regex.

Member Typedef Documentation

typedef _BiIter std::pair< _BiIter , _BiIter >::first_type
inherited

first_type is the first bound type

Definition at line 69 of file stl_pair.h.

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

second_type is the second bound type

Definition at line 70 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
sAnother matched sequence to compare to this one.
Return values
<0this matched sequence will collate before s.
=0this matched sequence is equivalent to s.
<0this matched sequence will collate after s.

Definition at line 1144 of file tr1_impl/regex.

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 basic_string< value_type > &  __s) const
inline

Compares this sub_match to a string.

Parameters
sA string to compare to this sub_match.
Return values
<0this matched sequence will collate before s.
=0this matched sequence is equivalent to s.
<0this matched sequence will collate after s.

Definition at line 1157 of file tr1_impl/regex.

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
sA C-style string to compare to this sub_match.
Return values
<0this matched sequence will collate before s.
=0this matched sequence is equivalent to s.
<0this matched sequence will collate after s.

Definition at line 1170 of file tr1_impl/regex.

template<typename _BiIter>
difference_type std::sub_match< _BiIter >::length ( ) const
inline

Gets the length of the matching sequence.

Definition at line 1101 of file tr1_impl/regex.

template<typename _BiIter>
std::sub_match< _BiIter >::operator basic_string< value_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 1114 of file tr1_impl/regex.

template<typename _BiIter>
basic_string<value_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 1127 of file tr1_impl/regex.

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

Member Data Documentation

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

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