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

Object property allows the consumers of the property to be able to access object's member functions and data members in a const manner. More...

Inheritance diagram for ObjectProperty< 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

 ObjectProperty (C_ &Object)
 
 ObjectProperty (C_ *Object)
 
 ObjectProperty (ObjectProperty &&)=default
 
const T_ & operator* () const
 
const T_ * operator-> () const
 
template<class O_ >
ObjectPropertyoperator= (const O_ &value)
 
template<class AC_ , T_ &(C_::*)() const G_, void(C_::*)(const T_ &) S_>
ObjectPropertyoperator= (const Property< AC_, T_ &, G_, S_ > &prop)
 
ObjectPropertyoperator= (ObjectProperty &&)=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
 
Propertyoperator= (const O_ &value)
 
Propertyoperator= (const Property &)=delete
 
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_::*)(T_ &) Setter_>
class Gorgon::ObjectProperty< C_, T_, Getter_, Setter_ >

Object property allows the consumers of the property to be able to access object's member functions and data members in a const manner.

Member Typedef Documentation

◆ Type

using Type = T_

Constructor & Destructor Documentation

◆ ObjectProperty() [1/3]

ObjectProperty ( C_ *  Object)

◆ ObjectProperty() [2/3]

ObjectProperty ( C_ &  Object)

◆ ObjectProperty() [3/3]

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

Member Function Documentation

◆ operator*()

const T_& operator* ( ) const

◆ operator->()

const T_* operator-> ( ) const

◆ operator=() [1/3]

ObjectProperty& operator= ( const O_ &  value)

◆ operator=() [2/3]

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

◆ operator=() [3/3]

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

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