DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExp::LinkedObjectWrapperPointer< ObjectT > Class Template Reference

This class describes a pointer to a LinkedObjectWrapper instance. It is a simple wrapper class which only adds specific behavior like always returning a const pointer to a LinkedObjectWrapper instance wrapping a const Object instance. More...

Public Types

using LinkedObjectWrapperType = LinkedObjectWrapper< std::add_const_t< ObjectT > >
 Type of the LinkedObjectWrapper instance this pointer points to. More...
 
using LinkedObjectWrapperPtrType = LinkedObjectWrapperType *
 Pointer type of LinkedObjectWrapperType. More...
 

Public Member Functions

 LinkedObjectWrapperPointer () noexcept
 Constructs an empty pointer. More...
 
 LinkedObjectWrapperPointer (LinkedObjectWrapperPtrType LinkedObjectWrapperPtr) noexcept
 Constructs a pointer pointing to LinkedObjectWrapperPtr.
More...
 
LinkedObjectWrapperPtrType get () const noexcept
 Always returns a const pointer so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions. More...
 
bool operator== (const LinkedObjectWrapperPtrType rhs) const noexcept
 Checks whether LinkedObjectWrapperPtr equals another pointer to a LinkedObjectWrapper instance. More...
 
bool operator!= (const LinkedObjectWrapperPtrType rhs) const noexcept
 Checks whether LinkedObjectWrapperPtr does not equal another pointer to a LinkedObjectWrapper instance. More...
 
bool operator== (const LinkedObjectWrapperPointer &rhs) const noexcept
 Checks whether this LinkedObjectWrapperPointer instance equals another instance. More...
 
bool operator!= (const LinkedObjectWrapperPointer &rhs) const noexcept
 Checks whether this LinkedObjectWrapperPointer instance does not equal another instance. More...
 
 operator bool () const noexcept
 Evaluates this LinkedObjectWrapperPointer instance to true if LinkedObjectWrapperPtr is not nullptr and to false otherwise. More...
 
LinkedObjectWrapperPtrType operator-> () const noexcept
 Always returns a const pointer so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions. More...
 
LinkedObjectWrapperTypeoperator* () const noexcept
 Always returns a const reference so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions. More...
 

Private Attributes

LinkedObjectWrapperPtrType LinkedObjectWrapperPtr
 LinkedObjectWrapper instance this pointer points to More...
 

Detailed Description

template<typename ObjectT>
class DynExp::LinkedObjectWrapperPointer< ObjectT >

This class describes a pointer to a LinkedObjectWrapper instance. It is a simple wrapper class which only adds specific behavior like always returning a const pointer to a LinkedObjectWrapper instance wrapping a const Object instance.

Template Parameters
ObjectTType of the managed Object.

Definition at line 2984 of file Object.h.

Member Typedef Documentation

◆ LinkedObjectWrapperPtrType

Pointer type of LinkedObjectWrapperType.

Definition at line 2995 of file Object.h.

◆ LinkedObjectWrapperType

template<typename ObjectT >
using DynExp::LinkedObjectWrapperPointer< ObjectT >::LinkedObjectWrapperType = LinkedObjectWrapper<std::add_const_t<ObjectT> >

Type of the LinkedObjectWrapper instance this pointer points to.

Definition at line 2990 of file Object.h.

Constructor & Destructor Documentation

◆ LinkedObjectWrapperPointer() [1/2]

template<typename ObjectT >
DynExp::LinkedObjectWrapperPointer< ObjectT >::LinkedObjectWrapperPointer ( )
inlinenoexcept

Constructs an empty pointer.

Definition at line 3000 of file Object.h.

◆ LinkedObjectWrapperPointer() [2/2]

template<typename ObjectT >
DynExp::LinkedObjectWrapperPointer< ObjectT >::LinkedObjectWrapperPointer ( LinkedObjectWrapperPtrType  LinkedObjectWrapperPtr)
inlinenoexcept

Constructs a pointer pointing to LinkedObjectWrapperPtr.

Parameters
LinkedObjectWrapperPtrPointer to a LinkedObjectWrapper instance to point to

Definition at line 3006 of file Object.h.

Member Function Documentation

◆ get()

template<typename ObjectT >
LinkedObjectWrapperPtrType DynExp::LinkedObjectWrapperPointer< ObjectT >::get ( ) const
inlinenoexcept

Always returns a const pointer so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions.

Returns
Returns LinkedObjectWrapperPtr.

Definition at line 3014 of file Object.h.

◆ operator bool()

template<typename ObjectT >
DynExp::LinkedObjectWrapperPointer< ObjectT >::operator bool ( ) const
inlineexplicitnoexcept

Evaluates this LinkedObjectWrapperPointer instance to true if LinkedObjectWrapperPtr is not nullptr and to false otherwise.

Definition at line 3048 of file Object.h.

◆ operator!=() [1/2]

template<typename ObjectT >
bool DynExp::LinkedObjectWrapperPointer< ObjectT >::operator!= ( const LinkedObjectWrapperPointer< ObjectT > &  rhs) const
inlinenoexcept

Checks whether this LinkedObjectWrapperPointer instance does not equal another instance.

Parameters
rhsOther LinkedObjectWrapperPointer instance
Returns
Returns false if case of equality, true otherwise.

Definition at line 3042 of file Object.h.

◆ operator!=() [2/2]

template<typename ObjectT >
bool DynExp::LinkedObjectWrapperPointer< ObjectT >::operator!= ( const LinkedObjectWrapperPtrType  rhs) const
inlinenoexcept

Checks whether LinkedObjectWrapperPtr does not equal another pointer to a LinkedObjectWrapper instance.

Parameters
rhsPointer to a LinkedObjectWrapper instance
Returns
Returns false if both pointers equal, true otherwise.

Definition at line 3028 of file Object.h.

◆ operator*()

template<typename ObjectT >
LinkedObjectWrapperType& DynExp::LinkedObjectWrapperPointer< ObjectT >::operator* ( ) const
inlinenoexcept

Always returns a const reference so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions.

Returns
Dereferences and returns LinkedObjectWrapperPtr.

Definition at line 3062 of file Object.h.

◆ operator->()

template<typename ObjectT >
LinkedObjectWrapperPtrType DynExp::LinkedObjectWrapperPointer< ObjectT >::operator-> ( ) const
inlinenoexcept

Always returns a const pointer so that Object instances using another linked Object instance are only allowed to call the linked object's const member functions.

Returns
Returns LinkedObjectWrapperPtr.

Definition at line 3055 of file Object.h.

◆ operator==() [1/2]

template<typename ObjectT >
bool DynExp::LinkedObjectWrapperPointer< ObjectT >::operator== ( const LinkedObjectWrapperPointer< ObjectT > &  rhs) const
inlinenoexcept

Checks whether this LinkedObjectWrapperPointer instance equals another instance.

Parameters
rhsOther LinkedObjectWrapperPointer instance
Returns
Returns true if case of equality, false otherwise.

Definition at line 3035 of file Object.h.

◆ operator==() [2/2]

template<typename ObjectT >
bool DynExp::LinkedObjectWrapperPointer< ObjectT >::operator== ( const LinkedObjectWrapperPtrType  rhs) const
inlinenoexcept

Checks whether LinkedObjectWrapperPtr equals another pointer to a LinkedObjectWrapper instance.

Parameters
rhsPointer to a LinkedObjectWrapper instance
Returns
Returns true if both pointers equal, false otherwise.

Definition at line 3021 of file Object.h.

Member Data Documentation

◆ LinkedObjectWrapperPtr

template<typename ObjectT >
LinkedObjectWrapperPtrType DynExp::LinkedObjectWrapperPointer< ObjectT >::LinkedObjectWrapperPtr
private

LinkedObjectWrapper instance this pointer points to

Definition at line 3068 of file Object.h.


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