PLCnext API Documentation 24.0.0.71
Public Types | Public Member Functions | List of all members
Arp::PimplPtr< T, true > Class Template Reference

Public Types

using Impl = T
 
using ImplPtr = std::unique_ptr< Impl >
 

Public Member Functions

template<class ... Args>
ARP_CXX_SYMBOL_EXPORT PimplPtr (Args &&... args)
 Constructs an PImpl instance using the supplied arguments.
 
ARP_CXX_SYMBOL_EXPORT PimplPtr (const PimplPtr &arg)
 Copy constructor.
 
ARP_CXX_SYMBOL_EXPORT PimplPtr (PimplPtr &&arg) noexcept
 Move constructor. More...
 
ARP_CXX_SYMBOL_EXPORT PimplPtroperator= (const PimplPtr &arg)
 Assignment operator. More...
 
ARP_CXX_SYMBOL_EXPORT PimplPtroperator= (PimplPtr &&arg) noexcept
 Assignment move operator. More...
 
ARP_CXX_SYMBOL_EXPORT ~PimplPtr (void)
 Destructs this instance and frees all resources. More...
 
ARP_CXX_SYMBOL_EXPORT Impl * operator-> (void)
 Gets the pointer to the Impl instance for none const objects. More...
 
ARP_CXX_SYMBOL_EXPORT const Impl * operator-> (void) const
 Gets the pointer to the const Impl instance for const objects.
 
ARP_CXX_SYMBOL_EXPORT Impl & operator* (void)
 Gets the reference to the Impl instance for none const objects. More...
 
ARP_CXX_SYMBOL_EXPORT const Impl & operator* (void) const
 Gets the reference to the const Impl instance for const objects.
 
ARP_CXX_SYMBOL_EXPORT operator bool (void) const noexcept
 Checks if the pointer points to a valid object
 
template<class ... Args>
 PimplPtr (Args &&...args)
 Variadic constructor.
 

Constructor & Destructor Documentation

◆ PimplPtr()

template<class T >
Arp::PimplPtr< T, true >::PimplPtr ( PimplPtr< T, true > &&  arg)
inlinedefaultnoexcept

Move constructor.

Default move constructor.

◆ ~PimplPtr()

template<class T >
Arp::PimplPtr< T, true >::~PimplPtr ( void  )
inlinedefault

Destructs this instance and frees all resources.

Default destructor.

Member Function Documentation

◆ operator*()

template<class T >
const T & Arp::PimplPtr< T, true >::operator* ( void  )
inline

Gets the reference to the Impl instance for none const objects.

Indirect operator to access pointee.

◆ operator->()

template<class T >
const T * Arp::PimplPtr< T, true >::operator-> ( void  )
inline

Gets the pointer to the Impl instance for none const objects.

Arrow operator to access pointee.

◆ operator=() [1/2]

template<class T >
PimplPtr< T, true > & Arp::PimplPtr< T, true >::operator= ( const PimplPtr< T, true > &  arg)
inline

Assignment operator.

Assign operator.

◆ operator=() [2/2]

template<class T >
PimplPtr< T, true > & Arp::PimplPtr< T, true >::operator= ( PimplPtr< T, true > &&  arg)
inlinedefaultnoexcept

Assignment move operator.

Default assignment move operator.


The documentation for this class was generated from the following files: