GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::experimental::propagate_const::propagate_const(3) C++ Standard Libary std::experimental::propagate_const::propagate_const(3)

std::experimental::propagate_const::propagate_const - std::experimental::propagate_const::propagate_const


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.


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


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

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.