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

This is generic property that can be set and retrieved good for enums mostly, its ok to use with POD structs for direct assignment but better not to use it with complex data types. More...

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

Public Types

using Type = T_
 

Public Member Functions

 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)
 

Protected Attributes

C_ & Object
 

Detailed Description

template<class C_, class T_, T_(C_::*)() const Getter_ = &C_::get, void(C_::*)(const T_ &) Setter_ = &C_::set>
class Gorgon::Property< C_, T_, Getter_, Setter_ >

This is generic property that can be set and retrieved good for enums mostly, its ok to use with POD structs for direct assignment but better not to use it with complex data types.

Member Typedef Documentation

◆ Type

using Type = T_

Constructor & Destructor Documentation

◆ Property() [1/4]

Property ( C_ *  Object)

◆ Property() [2/4]

Property ( C_ &  Object)

◆ Property() [3/4]

Property ( const Property< C_, T_, Getter_, Setter_ > &  )
delete

◆ Property() [4/4]

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

Member Function Documentation

◆ Get()

T_ Get ( ) const

◆ operator const T_()

operator const T_ ( ) const

◆ operator T_()

operator T_ ( )

◆ operator!=()

bool operator!= ( const T_ &  v) const

◆ operator*()

T_ operator* ( ) const

◆ operator=() [1/5]

Property& operator= ( const O_ &  value)

◆ operator=() [2/5]

Property& operator= ( const Property< C_, T_, Getter_, Setter_ > &  )
delete

◆ operator=() [3/5]

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

◆ operator=() [4/5]

Property& operator= ( const T_ &  value)

◆ operator=() [5/5]

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

◆ operator==()

bool operator== ( const T_ &  v) const

◆ Set()

void Set ( const T_ &  value)

Member Data Documentation

◆ Object

C_& Object
protected

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