LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Member Functions | List of all members
VclPtrInstance< reference_type > Class Template Referencefinal

A construction helper for a temporary VclPtr. More...

#include <vclptr.hxx>

Inheritance diagram for VclPtrInstance< reference_type >:
[legend]
Collaboration diagram for VclPtrInstance< reference_type >:
[legend]

Public Member Functions

template<typename... Arg>
 VclPtrInstance (Arg &&... arg)
 
- Public Member Functions inherited from VclPtr< reference_type >
 VclPtr ()
 Constructor... More...
 
 VclPtr (reference_type *pBody)
 Constructor... More...
 
 VclPtr (reference_type *pBody, __sal_NoAcquire)
 Constructor... that doesn't take a ref. More...
 
template<class derived_type >
 VclPtr (const VclPtr< derived_type > &rRef, typename std::enable_if< std::is_base_of< reference_type, derived_type >::value, int >::type=0)
 Up-casting conversion constructor: Copies interface reference. More...
 
 ~VclPtr ()
 
 VclPtr (VclPtr const &)=default
 
 VclPtr (VclPtr &&)=default
 
VclPtroperator= (VclPtr const &)=default
 
VclPtroperator= (VclPtr &&)=default
 
reference_type * operator-> () const
 Probably most common used: handle->someBodyOp(). More...
 
reference_type * get () const
 Get the body. More...
 
void set (reference_type *pBody)
 
void reset (reference_type *pBody)
 
template<typename derived_type >
std::enable_if< std::is_base_of< reference_type, derived_type >::value, VclPtr & >::type operator= (VclPtr< derived_type > const &rRef)
 Up-casting copy assignment operator. More...
 
VclPtroperator= (reference_type *pBody)
 
 operator reference_type * () const
 
 operator bool () const
 
void clear ()
 
void reset ()
 
void disposeAndClear ()
 
bool operator< (const VclPtr< reference_type > &handle) const
 Needed to place VclPtr's into STL collection. More...
 

Static Public Member Functions

template<typename... Arg>
static VclPtrInstance< reference_type > Create (Arg &&...)=delete
 Override and disallow this, to prevent people accidentally calling it and actually getting VclPtr::Create and getting a naked VclPtr<> instance. More...
 
- Static Public Member Functions inherited from VclPtr< reference_type >
template<typename... Arg>
static VclPtr< reference_type > Create (Arg &&... arg)
 A construction helper for VclPtr. More...
 

Detailed Description

template<class reference_type>
class VclPtrInstance< reference_type >

A construction helper for a temporary VclPtr.

Since VclPtr types are created with a reference-count of one - to help fit into the existing code-flow; this helps us to construct them easily. see also VclPtr::Create and ScopedVclPtr

For more details on the design please see vcl/README.lifecycle

Parameters
reference_typemust be a subclass of vcl::Window

Definition at line 276 of file vclptr.hxx.

Constructor & Destructor Documentation

◆ VclPtrInstance()

template<class reference_type >
template<typename... Arg>
VclPtrInstance< reference_type >::VclPtrInstance ( Arg &&...  arg)
inline

Definition at line 279 of file vclptr.hxx.

References Arg, and forward().

Member Function Documentation

◆ Create()

template<class reference_type >
template<typename... Arg>
static VclPtrInstance< reference_type > VclPtrInstance< reference_type >::Create ( Arg &&  ...)
staticdelete

Override and disallow this, to prevent people accidentally calling it and actually getting VclPtr::Create and getting a naked VclPtr<> instance.

References Arg.


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