SPH
Public Member Functions | List of all members
PropagateConst< TPtr > Class Template Reference

Const-propagating wrapper for object with point semantics. More...

#include <PropagateConst.h>

Public Member Functions

 PropagateConst ()=default
 
 PropagateConst (TPtr &&ptr)
 
 PropagateConst (PropagateConst &&other)
 
PropagateConstoperator= (TPtr &&newPtr)
 
TRef operator* ()
 
TConstRef operator* () const
 
RawPtr< TValue > operator-> ()
 
RawPtr< const TValue > operator-> () const
 

Detailed Description

template<typename TPtr>
class PropagateConst< TPtr >

Const-propagating wrapper for object with point semantics.

It treats the wrapped pointer as a pointer to const when accessed through a const access path.

Definition at line 16 of file PropagateConst.h.

Constructor & Destructor Documentation

◆ PropagateConst() [1/3]

template<typename TPtr >
PropagateConst< TPtr >::PropagateConst ( )
default

◆ PropagateConst() [2/3]

template<typename TPtr >
PropagateConst< TPtr >::PropagateConst ( TPtr &&  ptr)
inline

Definition at line 29 of file PropagateConst.h.

◆ PropagateConst() [3/3]

template<typename TPtr >
PropagateConst< TPtr >::PropagateConst ( PropagateConst< TPtr > &&  other)
inline

Definition at line 32 of file PropagateConst.h.

Member Function Documentation

◆ operator*() [1/2]

template<typename TPtr >
TRef PropagateConst< TPtr >::operator* ( )
inline

Definition at line 40 of file PropagateConst.h.

◆ operator*() [2/2]

template<typename TPtr >
TConstRef PropagateConst< TPtr >::operator* ( ) const
inline

Definition at line 44 of file PropagateConst.h.

◆ operator->() [1/2]

template<typename TPtr >
RawPtr<TValue> PropagateConst< TPtr >::operator-> ( )
inline

Definition at line 48 of file PropagateConst.h.

◆ operator->() [2/2]

template<typename TPtr >
RawPtr<const TValue> PropagateConst< TPtr >::operator-> ( ) const
inline

Definition at line 52 of file PropagateConst.h.

◆ operator=()

template<typename TPtr >
PropagateConst& PropagateConst< TPtr >::operator= ( TPtr &&  newPtr)
inline

Definition at line 35 of file PropagateConst.h.


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