Gorgon Game Engine
MutableObjectProperty< C_, T_, Getter_, Setter_ > Class Template Reference

Object property allows the consumers of the property to be able to access objects member functions and variables. More...

Inheritance diagram for MutableObjectProperty< C_, T_, Getter_, Setter_ >:
[legend]

Public Types

using Type = T_
 
- Public Types inherited from Property< C_, T_, Getter_, Setter_ >
using Type = T_
 

Public Member Functions

 MutableObjectProperty (C_ &Object)
 
 MutableObjectProperty (C_ *Object)
 
 MutableObjectProperty (MutableObjectProperty &&)=default
 
T_ & operator* ()
 
const T_ & operator* () const
 
internal::ObjectPropertyWatch< MutableObjectProperty< C_, T_, Getter_, Setter_ > > operator-> ()
 
const T_ * operator-> () const
 
template<class O_ >
MutableObjectPropertyoperator= (const O_ &value)
 
template<class AC_ , T_(C_::*)() const G_, void(C_::*)(const T_ &) S_>
MutableObjectPropertyoperator= (const Property< AC_, T_, G_, S_ > &prop)
 
MutableObjectPropertyoperator= (MutableObjectProperty &&)=default
 
- Public Member Functions inherited from Property< C_, T_, Getter_, Setter_ >
 Property (C_ &Object)
 
 Property (C_ *Object)
 
 Property (const Property &)=delete
 
 Property (Property &&)=default
 
T_ Get () const
 
 operator const T_ () const
 
 operator T_ ()
 
bool operator!= (const T_ &v) const
 
T_ operator* () const
 
template<class O_ >
Propertyoperator= (const O_ &value)
 
Propertyoperator= (const Property &)=delete
 
template<class AC_ , T_(AC_::*)() const G_, void(AC_::*)(const T_ &) S_>
Propertyoperator= (const Property< AC_, T_, G_, S_ > &prop)
 
Propertyoperator= (const T_ &value)
 
Propertyoperator= (Property &&)=default
 
bool operator== (const T_ &v) const
 
void Set (const T_ &value)
 

Additional Inherited Members

- Protected Attributes inherited from Property< C_, T_, Getter_, Setter_ >
C_ & Object
 

Detailed Description

template<class C_, class T_, T_(C_::*)() const Getter_, void(C_::*)(const T_ &) Setter_>
class Gorgon::MutableObjectProperty< C_, T_, Getter_, Setter_ >

Object property allows the consumers of the property to be able to access objects member functions and variables.

This alternative calls Setter anytime a member of the object is accessed, even if it is not changed. However, usage of dereferencing operator cannot be tracked.

Member Typedef Documentation

◆ Type

using Type = T_

Constructor & Destructor Documentation

◆ MutableObjectProperty() [1/3]

MutableObjectProperty ( C_ *  Object)

◆ MutableObjectProperty() [2/3]

MutableObjectProperty ( C_ &  Object)

◆ MutableObjectProperty() [3/3]

MutableObjectProperty ( MutableObjectProperty< C_, T_, Getter_, Setter_ > &&  )
default

Member Function Documentation

◆ operator*() [1/2]

T_& operator* ( )

◆ operator*() [2/2]

const T_& operator* ( ) const

◆ operator->() [1/2]

internal::ObjectPropertyWatch< MutableObjectProperty< C_, T_, Getter_, Setter_ > > operator->

◆ operator->() [2/2]

const T_* operator-> ( ) const

◆ operator=() [1/3]

MutableObjectProperty& operator= ( const O_ &  value)

◆ operator=() [2/3]

MutableObjectProperty& operator= ( const Property< AC_, T_, G_, S_ > &  prop)

◆ operator=() [3/3]

MutableObjectProperty& operator= ( MutableObjectProperty< C_, T_, Getter_, Setter_ > &&  )
default

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