CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
CNORXZ::ObjHandle< T > Class Template Reference

#include <obj_handle.h>

Public Member Functions

 ObjHandle ()
 
 ObjHandle (Uptr< T > &&a)
 
 ObjHandle (const ObjHandle &a)
 
 ObjHandle (ObjHandle &&a)
 
ObjHandleoperator= (const ObjHandle &a)
 
ObjHandleoperator= (ObjHandle &&a)
 
Toperator* ()
 
Toperator-> ()
 
const Toperator* () const
 
const Toperator-> () const
 

Protected Attributes

Uptr< TmC
 

Detailed Description

template<typename T>
class CNORXZ::ObjHandle< T >

unique pointer wrapper

Allows to handle objects accessed through abstract base class pointers as if they were complete (non-virtual) types. Each type to be handled is required to have a copy() member function that returns a copy of itself

Template Parameters
Tobject type

Definition at line 34 of file obj_handle.h.

Constructor & Destructor Documentation

◆ ObjHandle() [1/4]

template<typename T >
CNORXZ::ObjHandle< T >::ObjHandle ( )

default constructor

Definition at line 23 of file obj_handle.cc.h.

◆ ObjHandle() [2/4]

template<typename T >
CNORXZ::ObjHandle< T >::ObjHandle ( Uptr< T > && a)

construct from unique pointer

Parameters
aunique pointer

Definition at line 26 of file obj_handle.cc.h.

◆ ObjHandle() [3/4]

template<typename T >
CNORXZ::ObjHandle< T >::ObjHandle ( const ObjHandle< T > & a)

copy construct

Parameters
ainput

Definition at line 29 of file obj_handle.cc.h.

◆ ObjHandle() [4/4]

template<typename T >
CNORXZ::ObjHandle< T >::ObjHandle ( ObjHandle< T > && a)

move construct

Parameters
ainput

Definition at line 32 of file obj_handle.cc.h.

Member Function Documentation

◆ operator*() [1/2]

template<typename T >
T & CNORXZ::ObjHandle< T >::operator* ( )

access data

Definition at line 49 of file obj_handle.cc.h.

◆ operator*() [2/2]

template<typename T >
const T & CNORXZ::ObjHandle< T >::operator* ( ) const

access data (const)

Definition at line 61 of file obj_handle.cc.h.

◆ operator->() [1/2]

template<typename T >
T * CNORXZ::ObjHandle< T >::operator-> ( )

get pointer to data

Definition at line 55 of file obj_handle.cc.h.

◆ operator->() [2/2]

template<typename T >
const T * CNORXZ::ObjHandle< T >::operator-> ( ) const

get pointer to data (const)

Definition at line 67 of file obj_handle.cc.h.

◆ operator=() [1/2]

copy assign

Parameters
ainput

Definition at line 35 of file obj_handle.cc.h.

◆ operator=() [2/2]

template<typename T >
ObjHandle< T > & CNORXZ::ObjHandle< T >::operator= ( ObjHandle< T > && a)

move assign

Parameters
ainput

Definition at line 42 of file obj_handle.cc.h.

Member Data Documentation

◆ mC

template<typename T >
Uptr<T> CNORXZ::ObjHandle< T >::mC
protected

pointer to the object data

Definition at line 37 of file obj_handle.h.


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