Manpages - std_sub_match.3
Table of Contents
- NAME
- SYNOPSIS
- Detailed Description
- Member Typedef Documentation
- template<typename _BiIter > typedef __iter_traits::difference_type
- typedef _BiIter *std::pair*< _BiIter , _BiIter
- template<typename _BiIter > typedef _BiIter *std::sub_match*< _BiIter
- typedef _BiIter *std::pair*< _BiIter , _BiIter
- template<typename _BiIter > typedef *basic_string*<value_type>
- template<typename _BiIter > typedef __iter_traits::value_type
- Constructor & Destructor Documentation
- Member Function Documentation
- template<typename _BiIter > int *std::sub_match*< _BiIter >::compare
- template<typename _BiIter > int *std::sub_match*< _BiIter >::compare
- template<typename _BiIter > int *std::sub_match*< _BiIter >::compare
- template<typename _BiIter > difference_type *std::sub_match*< _BiIter
- template<typename _BiIter > *std::sub_match*< _BiIter >::operator
- template<typename _BiIter > string_type *std::sub_match*< _BiIter
- constexpr void *std::pair*< _BiIter , _BiIter >::swap (*pair*<
- Friends And Related Function Documentation
- constexpr *pair*< typename __decay_and_strip< _BiIter >::__type,
- constexpr bool operator!= (const *pair*< _BiIter , _BiIter > & __x,
- constexpr bool operator< (const *pair*< _BiIter , _BiIter > & __x,
- constexpr bool operator<= (const *pair*< _BiIter , _BiIter > & __x,
- constexpr bool operator== (const *pair*< _BiIter , _BiIter > & __x,
- constexpr bool operator> (const *pair*< _BiIter , _BiIter > & __x,
- constexpr bool operator>= (const *pair*< _BiIter , _BiIter > & __x,
- constexpr *enable_if*< __and_< __is_swappable< _BiIter >,
- Member Data Documentation
- Author
NAME
std::sub_match< _BiIter >
SYNOPSIS
#include <regex.h>
Inherits std::pair< _BiIter, _BiIter >.
Public Types
typedef __iter_traits::difference_type difference_type
typedef _BiIter first_type
The type of the first
member.
typedef _BiIter iterator
typedef _BiIter second_type
The type of the second
member.
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.
constexpr void swap (pair &__p) noexcept(__and_<
__is_nothrow_swappable< _BiIter >, __is_nothrow_swappable< _BiIter >
>::value)
Swap the first members and then the second members.
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
_BiIter first
The first member.
bool matched
_BiIter second
The second member.
Related Functions
(Note that these are not member functions.)
constexpr pair*< typename __decay_and_strip< _BiIter >::__type,
typename __decay_and_strip< _BiIter >::__type > *make_pair (_BiIter
&&__x, _BiIter &&__y)
A convenience wrapper for creating a pair from two objects.
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 > bool operator!= (const *sub_match*<
_BiIter > &__lhs, const *sub_match*< _BiIter > &__rhs)
Tests the inequivalence of two regular expression submatches.
template<typename _BiIter > bool operator< (const *sub_match*< _BiIter
> &__lhs, const *sub_match*< _BiIter > &__rhs)
Tests the ordering of two regular expression submatches.
template<typename _BiIter > bool operator<= (const *sub_match*<
_BiIter > &__lhs, const *sub_match*< _BiIter > &__rhs)
Tests the ordering of two regular expression submatches.
template<typename _BiIter > bool operator>= (const *sub_match*<
_BiIter > &__lhs, const *sub_match*< _BiIter > &__rhs)
Tests the ordering of two regular expression submatches.
template<typename _BiIter > bool operator> (const *sub_match*< _BiIter
> &__lhs, const *sub_match*< _BiIter > &__rhs)
Tests the ordering of two regular expression submatches.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator== (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the equivalence of a string and a regular expression submatch.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator!= (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the inequivalence of a string and a regular expression submatch.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator< (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a string and a regular expression submatch.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator> (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a string and a regular expression submatch.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator>= (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a string and a regular expression submatch.
template<typename _Bi_iter , typename _Ch_traits , typename _Ch_alloc >
bool operator<= (const __sub_match_string< _Bi_iter, _Ch_traits,
_Ch_alloc > &__lhs, const *sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a string and a regular expression submatch.
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 _Ch_alloc >
bool operator!= (const *sub_match*< _Bi_iter > &__lhs, const
__sub_match_string< _Bi_iter, _Ch_traits, _Ch_alloc > &__rhs)
Tests the inequivalence of a regular expression submatch and a string.
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 ordering of a regular expression submatch and a string.
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 ordering of a regular expression submatch and a string.
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 ordering of a regular expression submatch and a string.
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 ordering of a regular expression submatch and a string.
template<typename _Bi_iter > bool operator== (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the equivalence of a C string and a regular expression submatch.
template<typename _Bi_iter > bool operator!= (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the inequivalence of a C string and a regular expression submatch.
template<typename _Bi_iter > bool operator< (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a C string and a regular expression submatch.
template<typename _Bi_iter > bool operator> (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a C string and a regular expression submatch.
template<typename _Bi_iter > bool operator>= (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a C string and a regular expression submatch.
template<typename _Bi_iter > bool operator<= (typename
*iterator_traits*< _Bi_iter >::value_type const *__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a C string and a regular expression submatch.
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 > bool operator!= (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const *__rhs)
Tests the inequivalence 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 ordering 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 ordering 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 ordering 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 ordering of a regular expression submatch and a C string.
template<typename _Bi_iter > bool operator== (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the equivalence of a character and a regular expression submatch.
template<typename _Bi_iter > bool operator!= (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the inequivalence of a character and a regular expression
submatch.
template<typename _Bi_iter > bool operator< (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a character and a regular expression submatch.
template<typename _Bi_iter > bool operator> (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a character and a regular expression submatch.
template<typename _Bi_iter > bool operator>= (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a character and a regular expression submatch.
template<typename _Bi_iter > bool operator<= (typename
*iterator_traits*< _Bi_iter >::value_type const &__lhs, const
*sub_match*< _Bi_iter > &__rhs)
Tests the ordering of a character and a regular expression submatch.
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 > bool operator!= (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const &__rhs)
Tests the inequivalence of a regular expression submatch and a
character.
template<typename _Bi_iter > bool operator< (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const &__rhs)
Tests the ordering of a regular expression submatch and a character.
template<typename _Bi_iter > bool operator> (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const &__rhs)
Tests the ordering of a regular expression submatch and a character.
template<typename _Bi_iter > bool operator>= (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const &__rhs)
Tests the ordering of a regular expression submatch and a character.
template<typename _Bi_iter > bool operator<= (const *sub_match*<
_Bi_iter > &__lhs, typename *iterator_traits*< _Bi_iter >::value_type
const &__rhs)
Tests the ordering 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.
constexpr enable_if*< __and_< __is_swappable< _BiIter >,
__is_swappable< _BiIter > >::value >::type *swap (*pair*< _BiIter,
_BiIter > &__x, *pair*< _BiIter, _BiIter > &__y)
noexcept(noexcept(__x.swap(__y)))
constexpr bool operator== (const *pair*< _BiIter, _BiIter > &__x,
const *pair*< _BiIter, _BiIter > &__y)
constexpr bool operator< (const *pair*< _BiIter, _BiIter > &__x, const
*pair*< _BiIter, _BiIter > &__y)
constexpr bool operator!= (const *pair*< _BiIter, _BiIter > &__x,
const *pair*< _BiIter, _BiIter > &__y)
Uses operator==
to find the result.
constexpr bool operator> (const *pair*< _BiIter, _BiIter > &__x, const
*pair*< _BiIter, _BiIter > &__y)
Uses operator<
to find the result.
constexpr bool operator<= (const *pair*< _BiIter, _BiIter > &__x,
const *pair*< _BiIter, _BiIter > &__y)
Uses operator<
to find the result.
constexpr bool operator>= (const *pair*< _BiIter, _BiIter > &__x,
const *pair*< _BiIter, _BiIter > &__y)
Uses operator<
to find the result.
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 869 of file regex.h.
Member Typedef Documentation
template<typename _BiIter > typedef __iter_traits::difference_type
std::sub_match*< _BiIter >::difference_type Definition at line *875 of file regex.h.
typedef _BiIter *std::pair*< _BiIter , _BiIter
>::*first_type*= [inherited]=
The type of the first
member.
Definition at line 214 of file stl_pair.h.
template<typename _BiIter > typedef _BiIter *std::sub_match*< _BiIter
>::iterator Definition at line 876 of file regex.h.
typedef _BiIter *std::pair*< _BiIter , _BiIter
>::*second_type*= [inherited]=
The type of the second
member.
Definition at line 215 of file stl_pair.h.
template<typename _BiIter > typedef *basic_string*<value_type>
std::sub_match*< _BiIter >::*string_type Definition at line 877 of file regex.h.
template<typename _BiIter > typedef __iter_traits::value_type
std::sub_match*< _BiIter >::value_type Definition at line *874 of file regex.h.
Constructor & Destructor Documentation
template<typename _BiIter > constexpr *std::sub_match*< _BiIter
>::*sub_match* ()= [inline]=, = [constexpr]=, = [noexcept]= Definition at line 881 of file regex.h.
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
.
Definition at line 938 of file regex.h.
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
.
Definition at line 924 of file regex.h.
Referenced by std::sub_match< _BiIter >::operator!=(), std::sub_match< _BiIter >::operator<(), std::sub_match< _BiIter >::operator<=(), std::sub_match< _BiIter >::operator==(), std::sub_match< _BiIter >::operator>(), and std::sub_match< _BiIter >::operator>=().
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 942 of file regex.h.
template<typename _BiIter > difference_type *std::sub_match*< _BiIter
>::length () const= [inline]=, = [noexcept]= Gets the length of the matching sequence.
Definition at line 885 of file regex.h.
References std::pair< _BiIter, _BiIter >::first, and std::pair< _BiIter, _BiIter >::second.
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 898 of file regex.h.
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.
Definition at line 907 of file regex.h.
References std::pair< _BiIter, _BiIter >::first, and std::pair< _BiIter, _BiIter >::second.
Referenced by std::sub_match< _BiIter >::operator string_type().
constexpr void *std::pair*< _BiIter , _BiIter >::swap (*pair*<
_BiIter, _BiIter > & __p)= [inline]=, = [constexpr]=, = [noexcept]=, = [inherited]= Swap the first members and then the second members.
Definition at line 439 of file stl_pair.h.
Friends And Related Function Documentation
constexpr *pair*< typename __decay_and_strip< _BiIter >::__type,
typename __decay_and_strip< _BiIter >::__type > make_pair (_BiIter && __x, _BiIter && __y)= [related]= A convenience wrapper for creating a pair from two objects.
Parameters
__x The first object.
__y The second object.
Returns
A newly-constructed pair<> object of the appropriate type.
The C++98 standard says the objects are passed by reference-to-const, but C++03 says they are passed by value (this was LWG issue #181).
Since C++11 they have been passed by forwarding reference and then
forwarded to the new members of the pair. To create a pair with a member
of reference type, pass a reference_wrapper
to this function.
Definition at line 567 of file stl_pair.h.
constexpr bool operator!= (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]=
Uses operator==
to find the result.
Definition at line 496 of file stl_pair.h.
constexpr bool operator< (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]= Defines a lexicographical order for pairs.
For two pairs of the same type, P
is ordered before Q
if P.first
is less than Q.first
, or if P.first
and Q.first
are equivalent
(neither is less than the other) and P.second
is less than Q.second
.
Definition at line 488 of file stl_pair.h.
constexpr bool operator<= (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]=
Uses operator<
to find the result.
Definition at line 507 of file stl_pair.h.
constexpr bool operator== (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]= Two pairs of the same type are equal iff their members are equal.
Definition at line 466 of file stl_pair.h.
constexpr bool operator> (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]=
Uses operator<
to find the result.
Definition at line 502 of file stl_pair.h.
constexpr bool operator>= (const *pair*< _BiIter , _BiIter > & __x,
const *pair*< _BiIter , _BiIter > & __y)= [related]=
Uses operator<
to find the result.
Definition at line 514 of file stl_pair.h.
constexpr *enable_if*< __and_< __is_swappable< _BiIter >,
__is_swappable< _BiIter > >::value >::type swap (*pair*< _BiIter , _BiIter > & __x, *pair*< _BiIter , _BiIter > & __y)= [related]= Swap overload for pairs. Calls std::pair::swap().
Note
This std::swap overload is not declared in C++03 mode, which has performance implications, e.g. see https://gcc.gnu.org/PR38466
Definition at line 533 of file stl_pair.h.
Member Data Documentation
_BiIter *std::pair*< _BiIter , _BiIter >::first= [inherited]=
The first member.
Definition at line 217 of file stl_pair.h.
template<typename _BiIter > bool *std::sub_match*< _BiIter >::matched
Definition at line 879 of file regex.h.
_BiIter *std::pair*< _BiIter , _BiIter >::second= [inherited]=
The second member.
Definition at line 218 of file stl_pair.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.