Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::experi...es::Relation(3) C++ Standard Libarystd::experi...es::Relation(3)

NAME
       std::experimental::ranges::Relation  - std::experimental::ranges::Rela-
       tion

Synopsis
	  Defined in header <experimental/ranges/concepts>
	  template <class R, class T, class U>

	  concept bool Relation	=
	  Predicate<R, T, T> &&
	  Predicate<R, U, U> &&
	  CommonReference<
	  const	std::remove_reference_t<T>&,
	  const	std::remove_reference_t<U>&> &&
	  Predicate<R,					   (1) (ranges TS)
	  ranges::common_reference_t<
	  const	std::remove_reference_t<T>&,
	  const	std::remove_reference_t<U>&>,
	  ranges::common_reference_t<
	  const	std::remove_reference_t<T>&,
	  const	std::remove_reference_t<U>&>> &&
	  Predicate<R, T, U> &&

	  Predicate<R, U, T>;

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

	  Given

	    * r, an expression such that decltype((r)) is R,
	    * t, an expression such that decltype((t)) is T,
	    * u, an expression such that decltype((u)) is U,

	  and let  C  be  ranges::common_reference_t<const  std::remove_refer-
       ence_t<T>&, const
	  std::remove_reference_t<U>&>,

	  then Relation<R, T, U> is satisfied only if

	    * bool(r(t,	u)) == bool(r(C(t), C(u))) and
	    * bool(r(u,	t)) == bool(r(C(u), C(t))).

http://cppreference.com		  2022.07.31	 std::experi...es::Relation(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::ranges::Relation&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help