Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/concepts/relation"

From cppreference.com
< cpp‎ | concepts
m (fmt)
(+References)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
{{cpp/title|relation}}
+
{{cpp/title|relation {{mark since c++20}}}}
 
{{cpp/concepts/navbar}}
 
{{cpp/concepts/navbar}}
 
{{dcl begin}}
 
{{dcl begin}}
Line 12: Line 12:
  
 
The concept {{tt|relation<R, T, U>}} specifies that {{tt|R}} defines a binary relation over the set of expressions whose type and value category are those encoded by either {{tt|T}} or {{tt|U}}.
 
The concept {{tt|relation<R, T, U>}} specifies that {{tt|R}} defines a binary relation over the set of expressions whose type and value category are those encoded by either {{tt|T}} or {{tt|U}}.
 +
 +
===References===
 +
{{ref std c++23}}
 +
{{ref std|section=18.7.5|title=Concept {{tt|relation}}|id=concept.relation}}
 +
{{ref std end}}
 +
{{ref std c++20}}
 +
{{ref std|section=18.7.5|title=Concept {{tt|relation}}|id=concept.relation}}
 +
{{ref std end}}
  
 
{{langlinks|es|ja|ru|zh}}
 
{{langlinks|es|ja|ru|zh}}

Latest revision as of 10:54, 7 September 2024

Defined in header <concepts>
template< class R, class T, class U >

concept relation =
    std::predicate<R, T, T> && std::predicate<R, U, U> &&

    std::predicate<R, T, U> && std::predicate<R, U, T>;
(1) (since C++20)

The concept relation<R, T, U> specifies that R defines a binary relation over the set of expressions whose type and value category are those encoded by either T or U.

[edit] References

  • C++23 standard (ISO/IEC 14882:2024):
  • 18.7.5 Concept relation [concept.relation]
  • C++20 standard (ISO/IEC 14882:2020):
  • 18.7.5 Concept relation [concept.relation]