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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::experimental::propagate_const::propagate_const  -  std::experimen-
       tal::propagate_const::propagate_const

Synopsis
	  constexpr propagate_const()  =  default;		 (1)  (library
       fundamentals TS v2)
	  constexpr  propagate_const(  propagate_const&&  p  ) =  (2) (library
       fundamentals TS v2)
	  default;
	  template<class U>
	  /* see below */  constexpr  propagate_const(		 (3)  (library
       fundamentals TS v2)
	  propagate_const<U>&& pu );
	  template<class   U>					 (4)  (library
       fundamentals TS v2)
	  /* see below */ constexpr propagate_const( U&& u );
	  propagate_const( const propagate_const& )  =	delete;	 (5)  (library
       fundamentals TS v2)

	  Let  t_  designate  the  private  data  member  that	is the wrapped
       pointer-like object.

	  1) Constructs	an propagate_const, default-initializing this->t_.
	  2)  Explicitly  defaulted  move  constructor	that  move  constructs
       this->t_	from p.t_.
	  3) Initializes this->t_ as if	by direct-non-list-initialization from
       the expression
	  std::move(pu.t_).
	  This constructor does	not participate	in overload resolution unless
	  std::is_constructible<T,  U>::value  is true,	and is explicit	if and
       only if
	  std::is_convertible<U, T>::value is false.
	  4) Initializes this->t_ as if	by direct-non-list-initialization with
       the expression
	  std::forward<U>(u).
	  This constructor does	not participate	in overload resolution unless
	  std::is_constructible<T, U>::value is	true  and  std::decay_t<U>  is
       not a
	  specialization  of  propagate_const. This constructor	is explicit if
       and only	if
	  std::is_convertible<U, T>::value is false.
	  5) Copy constructor is explicitly deleted. propagate_const  is  non-
       copyable.

Parameters
	  p  - another propagate_const object to move from
	  pu - another propagate_const object of a different specialization to
       move from
	  u  - another object to initialize the	contained pointer with

Notes
	  In Library Fundamental TS v2 (based on C++14), (4) and (5) are typi-
       cally implemented
	  in  explicit/non-explicit  overload pairs. Since Library Fundamental
       TS v3 (based on
	  C++20), they can be implemented in conditional explicit specifiers.

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

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

home | help