8#ifndef ARP_USE_ARP_SYSTEM_CORE 
   10#include "Arp/Base/Core/PimplPtr.hxx" 
   21template<
class T, 
bool Copyable = false>
 
   26    using ImplPtr = std::unique_ptr<Impl>;
 
   30    template <
class ...Args>
 
   31    ARP_CXX_SYMBOL_EXPORT 
explicit PimplPtr(Args&& ... args);
 
   47    ARP_CXX_SYMBOL_EXPORT 
const Impl* 
operator->(
void)
const;
 
   49    ARP_CXX_SYMBOL_EXPORT Impl&       
operator*(
void);
 
   51    ARP_CXX_SYMBOL_EXPORT 
const Impl& 
operator*(
void)
const;
 
   53    ARP_CXX_SYMBOL_EXPORT 
explicit operator bool(
void)
const noexcept;
 
   60class PimplPtr<T, true>
 
   64    using ImplPtr = std::unique_ptr<Impl>;
 
   68    template <
class ...Args>
 
   69    ARP_CXX_SYMBOL_EXPORT 
explicit PimplPtr(Args&& ... args);
 
   85    ARP_CXX_SYMBOL_EXPORT 
const Impl* 
operator->(
void)
const;
 
   87    ARP_CXX_SYMBOL_EXPORT Impl&       
operator*(
void);
 
   89    ARP_CXX_SYMBOL_EXPORT 
const Impl& 
operator*(
void)
const;
 
   91    ARP_CXX_SYMBOL_EXPORT 
explicit operator bool(
void) 
const noexcept;
 
~PimplPtr(void)
Default destructor.
 
Impl & operator*(void)
Indirect operator to access pointee.
Definition: PimplPtr.inl:51
 
PimplPtr(Args &&... args)
Variadic constructor.
Definition: PimplPtr.inl:18
 
Impl * operator->(void)
Arrow operator to access pointee.
Definition: PimplPtr.inl:37
 
Root namespace for the PLCnext API