neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType > Class Template Reference

#include <property.hpp>

Public Types

typedef ParentType parent_type
 

Public Member Functions

 optional_proxy (parent_type &aParent)
 
template<typename SFINAE = neolib::optional_t<T>>
 operator const typename std::enable_if< neolib::is_optional_v< T >, SFINAE >::type & () const
 
template<typename T2 , typename SFINAE = optional_proxy<parent_type>>
std::enable_if<!std::is_const< parent_type >::value, SFINAE >::typeoperator= (const T2 &aValue)
 
template<typename SFINAE = const neolib::optional_t<T>*>
const std::enable_if< neolib::is_optional_v< T >, SFINAE >::type operator-> () const
 

Detailed Description

template<typename T, typename Category, class Context, typename Calculator = T(*)()>
template<typename ParentType>
class neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >

Definition at line 155 of file property.hpp.

Member Typedef Documentation

◆ parent_type

template<typename T , typename Category , class Context , typename Calculator = T(*)()>
template<typename ParentType >
typedef ParentType neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >::parent_type

Definition at line 158 of file property.hpp.

Constructor & Destructor Documentation

◆ optional_proxy()

template<typename T , typename Category , class Context , typename Calculator = T(*)()>
template<typename ParentType >
neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >::optional_proxy ( parent_type aParent)
inline

Definition at line 160 of file property.hpp.

Member Function Documentation

◆ operator const typename std::enable_if< neolib::is_optional_v< T >, SFINAE >::type &()

template<typename T , typename Category , class Context , typename Calculator = T(*)()>
template<typename ParentType >
template<typename SFINAE = neolib::optional_t<T>>
neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >::operator const typename std::enable_if< neolib::is_optional_v< T >, SFINAE >::type & ( ) const
inline

Definition at line 165 of file property.hpp.

◆ operator->()

template<typename T , typename Category , class Context , typename Calculator = T(*)()>
template<typename ParentType >
template<typename SFINAE = const neolib::optional_t<T>*>
const std::enable_if< neolib::is_optional_v< T >, SFINAE >::type neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >::operator-> ( ) const
inline

Definition at line 176 of file property.hpp.

◆ operator=()

template<typename T , typename Category , class Context , typename Calculator = T(*)()>
template<typename ParentType >
template<typename T2 , typename SFINAE = optional_proxy<parent_type>>
std::enable_if<!std::is_const< parent_type >::value, SFINAE >::type & neogfx::property< T, Category, Context, Calculator >::optional_proxy< ParentType >::operator= ( const T2 &  aValue)
inline

Definition at line 170 of file property.hpp.


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