Provided by: libstdc++-13-doc_13.3.0-6ubuntu2~24.04_all
NAME
std::sub_match< _BiIter >
SYNOPSIS
#include <regex> 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 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. void swap (sub_match &__s) noexcept(__is_nothrow_swappable< _BiIter >::value) Swap the values of two sub_match objects. 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 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) 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.
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 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
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. 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. 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. template<typename _BiIter > difference_type std::sub_match< _BiIter >::length () const [inline], [noexcept] Gets the length of the matching sequence. References std::distance(). 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. 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. Referenced by std::sub_match< _BiIter >::operator string_type(). template<typename _BiIter > void std::sub_match< _BiIter >::swap (sub_match< _BiIter > & __s) [inline], [noexcept] Swap the values of two sub_match objects. References std::swap(), and std::pair< _T1, _T2 >::swap().
Author
Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ std::sub_match< _BiIter >(3cxx)