std::sub_match< _BiIter >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

std::sub_match< _BiIter >  

SYNOPSIS


Inherits std::pair< _BiIter, _BiIter >.  

Public Types


using _PCCFP = _PCC<!is_same< _BiIter, _U1 >::value||!is_same< _BiIter, _U2 >::value, _BiIter, _BiIter >

using _PCCP = _PCC< true, _BiIter, _BiIter >

typedef __iter_traits::difference_type difference_type

typedef _BiIter first_type

typedef _BiIter iterator

typedef _BiIter second_type
first_type is the first bound 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
Compares this and another matched sequence.
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 C-style string.
difference_type length () const

operator string_type () const
Gets the matching sequence as a string.
string_type str () const
Gets the matching sequence as a string.
void swap (pair &__p) noexcept(__and_< __is_nothrow_swappable< _BiIter >, __is_nothrow_swappable< _BiIter >>::value)
 

Public Attributes


_BiIter first
second_type is the second bound type
bool matched

_BiIter second
first is a copy of the first object  

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

Member Typedef Documentation

 

using std::pair< _BiIter , _BiIter >::_PCCFP = _PCC<!is_same<_BiIter , _U1>::value || !is_same<_BiIter , _U2>::value, _BiIter , _BiIter > [inherited]

There is also a templated copy ctor for the pair class itself.

Definition at line 283 of file stl_pair.h.  

using std::pair< _BiIter , _BiIter >::_PCCP = _PCC<true, _BiIter , _BiIter > [inherited]

Two objects may be passed to a pair constructor to be copied.

Definition at line 252 of file stl_pair.h.  

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

first_type is the first bound type

Definition at line 212 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 925 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 938 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 951 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 882 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 895 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 908 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 214 of file stl_pair.h.  

_BiIter std::pair< _BiIter , _BiIter >::second [inherited]

first is a copy of the first object

Definition at line 215 of file stl_pair.h.

 

Author

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


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Public Attributes
Detailed Description
template<typename _BiIter>
Member Typedef Documentation
using std::pair< _BiIter , _BiIter >::_PCCFP = _PCC<!is_same<_BiIter , _U1>::value || !is_same<_BiIter , _U2>::value, _BiIter , _BiIter > [inherited]
using std::pair< _BiIter , _BiIter >::_PCCP = _PCC<true, _BiIter , _BiIter > [inherited]
typedef _BiIter std::pair< _BiIter , _BiIter >::second_type [inherited]
Member Function Documentation
template<typename _BiIter> int std::sub_match< _BiIter >::compare (const sub_match< _BiIter > & __s) const [inline]
template<typename _BiIter> int std::sub_match< _BiIter >::compare (const string_type & __s) const [inline]
template<typename _BiIter> int std::sub_match< _BiIter >::compare (const value_type * __s) const [inline]
template<typename _BiIter> difference_type std::sub_match< _BiIter >::length () const [inline]
template<typename _BiIter> std::sub_match< _BiIter >::operator string_type () const [inline]
template<typename _BiIter> string_type std::sub_match< _BiIter >::str () const [inline]
Member Data Documentation
_BiIter std::pair< _BiIter , _BiIter >::first [inherited]
_BiIter std::pair< _BiIter , _BiIter >::second [inherited]
Author