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

FreeBSD Manual Pages

  
 
  

home | help
std::common_reference_with(3) C++ Standard Libarystd::common_reference_with(3)

NAME
       std::common_reference_with - std::common_reference_with

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

	  concept common_reference_with	=
	      std::same_as<std::common_reference_t<T,			   U>,
       (since C++20)
	  std::common_reference_t<U, T>> &&
	      std::convertible_to<T, std::common_reference_t<T,	U>> &&

	      std::convertible_to<U, std::common_reference_t<T,	U>>;

	  The concept common_reference_with<T, U> specifies that two  types  T
       and U share a
	  common  reference  type  (as computed	by std::common_reference_t) to
       which both can be
	  converted.

	  Semantic requirements

	  T and	U model	std::common_reference_with<T, U> only if, given	equal-
       ity-preserving
	  expressions t1, t2, u1 and  u2  such	that  decltype((t1))  and  de-
       cltype((t2)) are	both T
	  and decltype((u1)) and decltype((u2))	are both U,

	    *	std::common_reference_t<T,  U>(t1)  equals  std::common_refer-
       ence_t<T, U>(t2)	if
	      and only if t1 equals t2;	and
	    *  std::common_reference_t<T,  U>(u1)  equals   std::common_refer-
       ence_t<T, U>(u2)	if
	      and only if u1 equals u2.

	  In  other  words,  the  conversion to	the common reference type must
       preserve	equality.

See also
	  common_reference	 determines the	common	reference  type	 of  a
       group of	types
	  basic_common_reference (class	template)
	  (C++20)
	  common_with		 specifies that	two types share	a common type
	  (C++20)		 (concept)
	  common_type		  determines  the  common  type	 of a group of
       types
	  (C++11)		 (class	template)

http://cppreference.com		  2024.06.10	 std::common_reference_with(3)

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

home | help