Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      operator==,!=,<,<=,>,>=,<=>(std::sub_match)

      From cppreference.com
      <cpp‎ |regex‎ |sub match
       
       
       
      Regular expressions library
      Classes
      (C++11)
      Algorithms
      Iterators
      Exceptions
      Traits
      Constants
      (C++11)
      Regex Grammar
       
      std::sub_match
      Member functions
      Non-member functions
      operator==operator!=operator<<operator<=operator>operator>=operator<=>
      (until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
       
      Defined in header<regex>
      Direct comparison
      template<class BidirIt>

      bool operator==(conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (1)(since C++11)
      template<class BidirIt>

      bool operator!=(conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (2)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<  (conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (3)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<=(conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (4)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>  (conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (5)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>=(conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (6)(since C++11)
      (until C++20)
      template<class BidirIt>

      auto operator<=>(conststd::sub_match<BidirIt>& lhs,

                       conststd::sub_match<BidirIt>& rhs);
      (7)(since C++20)
      Comparing with astd::basic_string
      template<class BidirIt,class Traits,class Alloc>

      bool operator==(conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (8)(since C++11)
      template<class BidirIt,class Traits,class Alloc>

      bool operator!=(conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (9)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator<  (conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (10)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator<=(conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (11)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator>  (conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (12)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator>=(conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (13)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      auto operator<=>(conststd::sub_match<BidirIt>& lhs,
                       conststd::basic_string</*value-type-of*/<BidirIt>,

                                                Traits, Alloc>& str);
      (14)(since C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator==(conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (15)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator!=(conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (16)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator<  (conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (17)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator<=(conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (18)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator>  (conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (19)(since C++11)
      (until C++20)
      template<class BidirIt,class Traits,class Alloc>

      bool operator>=(conststd::basic_string</*value-type-of*/<BidirIt>,
                                                Traits, Alloc>& str,

                       conststd::sub_match<BidirIt>& rhs);
      (20)(since C++11)
      (until C++20)
      Comparing with a C-style string
      template<class BidirIt>

      bool operator==(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (21)(since C++11)
      template<class BidirIt>

      bool operator!=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (22)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<  (conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (23)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (24)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>  (conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (25)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (26)(since C++11)
      (until C++20)
      template<class BidirIt>

      auto operator<=>(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>* s);
      (27)(since C++20)
      template<class BidirIt>

      bool operator==(const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (28)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator!=(const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (29)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<  (const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (30)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<=(const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (31)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>  (const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (32)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>=(const/*value-type-of*/<BidirIt>* s,

                       conststd::sub_match<BidirIt>& rhs);
      (33)(since C++11)
      (until C++20)
      Comparing with a single character
      template<class BidirIt>

      bool operator==(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (34)(since C++11)
      template<class BidirIt>

      bool operator!=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (35)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<  (conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (36)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (37)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>  (conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (38)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>=(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (39)(since C++11)
      (until C++20)
      template<class BidirIt>

      auto operator<=>(conststd::sub_match<BidirIt>& lhs,

                       const/*value-type-of*/<BidirIt>& ch);
      (40)(since C++20)
      template<class BidirIt>

      bool operator==(const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (41)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator!=(const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (42)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<  (const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (43)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator<=(const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (44)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>  (const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (45)(since C++11)
      (until C++20)
      template<class BidirIt>

      bool operator>=(const/*value-type-of*/<BidirIt>& ch,

                       conststd::sub_match<BidirIt>& rhs);
      (46)(since C++11)
      (until C++20)
      Helper type aliases
      template<class BidirIt>

      using/*value-type-of*/=

         typenamestd::iterator_traits<BidirIt>::value_type;
      (47)(exposition only*)
      template<class BidirIt>

      using/*cat-type-of*/=
         std::compare_three_way_result_t

             <std::basic_string</*value-type-of*/<BidirIt>>>;
      (48)(since C++20)
      (exposition only*)

      Compares asub_match to anothersub_match, astd::string, a C-style string or a single character.

      1-7) Compares twosub_match directly.
      8-20) Compares asub_match with astd::basic_string.
      21-33) Compares asub_match with a C-style string.
      34-46) Compares asub_match with a single character.

      The<,<=,>,>=, and!= operators aresynthesized fromoperator<=> andoperator== respectively.

      (since C++20)
      47)value-type-of <BidirIt> is thevalue type ofBidirIt.
      48)cat-type-of <BidirIt> is the result type of three-way comparison ofstd::sub_match<BidirIt>.

      Contents

      [edit]Parameters

      lhs, rhs - asub_match to compare
      str - astd::basic_string to compare
      s - a pointer to a C-style string to compare
      ch - a character to compare

      [edit]Return value

      Lettarget be the following values:

      1-7)rhs
      8-20)typenamestd::sub_match<BidirIt>::string_type(str.data(), str.size())
      21-33)s
      34-46)typenamestd::sub_match<BidirIt>::string_type(1, ch)

      The return values are defined as follows:

       Operator Return value
      Overloads(1-14,21-27,34-40)
      (overloads with parameterlhs)
            Overloads(15-20,28-33,41-46)      
      (overloads without parameterlhs)
      ==lhs.compare(target)==0rhs.compare(target)==0
      !=lhs.compare(target)!=0rhs.compare(target)!=0
      <lhs.compare(target)<0rhs.compare(target)>0
      <=lhs.compare(target)<=0rhs.compare(target)>=0
      >lhs.compare(target)>0rhs.compare(target)<0
      >=lhs.compare(target)>=0rhs.compare(target)<=0
      <=> static_cast<cat-type-of <BidirIt>>
          (lhs.compare(target)<=>0)
       
      N/A

      [edit]Notes

      The return type ofoperator<=> is guaranteed to be a comparison category type. Ifvalue-type-of <BidirIt> ischar,wchar_t,char8_t,char16_t, orchar32_t, the return type ofoperator<=> isstd::strong_ordering.

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 2217C++11for comparisons withstd::string, the
      argument ofcompare() wasstr.c_str()
      the argument is
      string_type(str.data(), str.size()))

      [edit]See also

      compares matched subsequence (if any)
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/regex/sub_match/operator_cmp&oldid=177695"

      [8]ページ先頭

      ©2009-2026 Movatter.jp