Nui
Public Member Functions | Protected Attributes | List of all members
Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT > Class Template Reference

#include <observed_value.hpp>

Public Member Functions

 ReferenceWrapper (ObservedContainer< ContainerT > *owner, std::size_t pos, T &ref)
 
 ReferenceWrapper (ReferenceWrapper const &)=default
 
 ReferenceWrapper (ReferenceWrapper &&other) noexcept
 
ReferenceWrapperoperator= (ReferenceWrapper const &)=default
 
ReferenceWrapperoperator= (ReferenceWrapper &&other) noexcept
 
 operator T& ()
 
T & operator* ()
 
T const & operator* () const
 
T * operator-> ()
 
T const * operator-> () const
 
T & get ()
 
T const & getReadonly ()
 
void operator= (T &&val)
 
void operator= (T const &val)
 

Protected Attributes

ObservedContainer< ContainerT > * owner_
 
std::size_t pos_
 
T * ref_
 

Constructor & Destructor Documentation

◆ ReferenceWrapper() [1/3]

template<typename T , typename ContainerT >
Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::ReferenceWrapper ( ObservedContainer< ContainerT > *  owner,
std::size_t  pos,
T &  ref 
)
inline

◆ ReferenceWrapper() [2/3]

template<typename T , typename ContainerT >
Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::ReferenceWrapper ( ReferenceWrapper< T, ContainerT > const &  )
default

◆ ReferenceWrapper() [3/3]

template<typename T , typename ContainerT >
Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::ReferenceWrapper ( ReferenceWrapper< T, ContainerT > &&  other)
inlinenoexcept

Member Function Documentation

◆ get()

template<typename T , typename ContainerT >
T& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::get ( )
inline

◆ getReadonly()

template<typename T , typename ContainerT >
T const& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::getReadonly ( )
inline

◆ operator T&()

template<typename T , typename ContainerT >
Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator T& ( )
inline

◆ operator*() [1/2]

template<typename T , typename ContainerT >
T& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator* ( )
inline

◆ operator*() [2/2]

template<typename T , typename ContainerT >
T const& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator* ( ) const
inline

◆ operator->() [1/2]

template<typename T , typename ContainerT >
T* Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename T , typename ContainerT >
T const* Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator-> ( ) const
inline

◆ operator=() [1/4]

template<typename T , typename ContainerT >
ReferenceWrapper& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator= ( ReferenceWrapper< T, ContainerT > &&  other)
inlinenoexcept

◆ operator=() [2/4]

template<typename T , typename ContainerT >
ReferenceWrapper& Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator= ( ReferenceWrapper< T, ContainerT > const &  )
default

◆ operator=() [3/4]

template<typename T , typename ContainerT >
void Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator= ( T &&  val)
inline

◆ operator=() [4/4]

template<typename T , typename ContainerT >
void Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::operator= ( T const &  val)
inline

Member Data Documentation

◆ owner_

template<typename T , typename ContainerT >
ObservedContainer<ContainerT>* Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::owner_
protected

◆ pos_

template<typename T , typename ContainerT >
std::size_t Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::pos_
protected

◆ ref_

template<typename T , typename ContainerT >
T* Nui::ContainerWrapUtility::ReferenceWrapper< T, ContainerT >::ref_
protected

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