logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

std::sub_match< _BiIter >

Author

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

                                                    libstdc++                    std::sub_match<_BiIter>(3cxx)

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>intstd::sub_match<_BiIter>::compare(conststring_type&__s)const[inline]
       Compares this sub_match to a string.

       Parameters__s A string to compare to this sub_match.

       Returnvaluesnegative 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>intstd::sub_match<_BiIter>::compare(constsub_match<_BiIter>&__s)const[inline]
       Compares this and another matched sequence.

       Parameters__s Another matched sequence to compare to this one.

       Returnvaluesnegative 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>intstd::sub_match<_BiIter>::compare(constvalue_type*__s)const[inline]
       Compares this sub_match to a string.

       Parameters__s A string to compare to this sub_match.

       Returnvaluesnegative 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_typestd::sub_match<_BiIter>::length()const[inline],[noexcept]
       Gets the length of the matching sequence.

       References std::distance().

   template<typename_BiIter>std::sub_match<_BiIter>::operatorstring_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_typestd::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>::operatorstring_type().

   template<typename_BiIter>voidstd::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().

Name

       std::sub_match< _BiIter >

Synopsis

       #include <regex>

   PublicTypestypedef __iter_traits::difference_type difference_typetypedef _BiIter iteratortypedefbasic_string< value_type > string_typetypedef __iter_traits::value_type value_typePublicMemberFunctions
       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.
       operatorstring_type () const
           Gets the matching sequence as a string.
       string_typestr () const
           Gets the matching sequence as a string.
       voidswap (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.

   PublicAttributes
       iterator first
       bool matched
       iterator secondRelatedSymbols
       (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== (typenameiterator_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!= (typenameiterator_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< (typenameiterator_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> (typenameiterator_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>= (typenameiterator_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<= (typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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== (typenameiterator_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!= (typenameiterator_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< (typenameiterator_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> (typenameiterator_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>= (typenameiterator_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<= (typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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, typenameiterator_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.

See Also