home | help
std::out_ptr_t::out_ptr_t(3)   C++ Standard Libary  std::out_ptr_t::out_ptr_t(3)

NAME
     std::out_ptr_t::out_ptr_t - std::out_ptr_t::out_ptr_t

Synopsis
	explicit out_ptr_t( Smart &sp, Args... args ); (1) (since C++23)
	out_ptr_t( const out_ptr_t& ) = delete;        (2) (since C++23)

	1)  Creates an out_ptr_t. Adapts sp as if binds it to the Smart& member,
     captures
	every argument t in args... as if initializes the  corresponding  member
     of type T in
	Args...  with  std::forward<T>(t),  then  value-initializes  the  stored
     Pointer.
	Then calls sp.reset() if the expression is well-formed; otherwise, calls
     sp =
	Smart() if std::is_default_constructible_v<Smart> is true.  The  program
     is ill-formed
	if both resetting operations are ill-formed.
	2) Copy constructor is explicitly deleted. out_ptr_t is neither copyable
     nor
	movable.

Parameters
	sp	- the object (typically a smart pointer) to adapt
	args... - the arguments used for resetting to capture

Return value
	(none)

Exceptions
	May throw implementation-defined exceptions.

Notes
	After  construction,  the  Pointer or void* object pointed by the return
     value of
	either conversion function is equal to nullptr.

	Every argument in args... is moved into the created out_ptr_t if  it  is
     of an object
	type, or transferred into the created out_ptr_t as-is if it is of a ref-
     erence type.

	The  constructor  of out_ptr_t is allowed to throw exceptions. For exam-
     ple, when sp is
	a std::shared_ptr, the allocation for the new control block may be  per-
     formed within
	the constructor rather than the destructor.

Example
	 This section is incomplete
	 Reason: no example

Category:
	  * Todo no example

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

home | help