Gorgon Game Engine
Property.h File Reference
Include dependency graph for Property.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BinaryProperty< C_, T_, Getter_, Setter_ >
 Supports all operators that the numeric property supports. More...
 
class  BooleanProperty< C_, T_, Getter_, Setter_ >
 Supports logic operators. More...
 
class  MutableObjectProperty< C_, T_, Getter_, Setter_ >
 Object property allows the consumers of the property to be able to access objects member functions and variables. More...
 
class  NumericProperty< C_, T_, Getter_, Setter_ >
 Supports arithmetic operators including +, * ..., +=, ... More...
 
class  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. More...
 
class  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. More...
 
class  ReferenceProperty< C_, T_, Getter_, Setter_, Update_ >
 Reference property allows clients to access a reference object within the class. More...
 
class  TextualProperty< C_, T_, Getter_, Setter_ >
 Supports everything that string class supports including +, +=, length() More...
 

Namespaces

 Gorgon
 Root namespace for Gorgon Game Engine.
 

Macros

#define MAP_PROPERTY(type, name, variable)
 Good for testing nothing else, you probably should use normal variables if you need something like this. More...
 
#define PROPERTY_UPDATE(cls, proptype, type, name, def)
 If property is there to call Update every time the value is changed, this mapper can handle this situation. More...
 

Functions

template<class C_ , class T_ , T_(C_::*)() const Getter_, void(C_::*)(const T_ &) Setter_>
T_ operator+ (const char *v, TextualProperty< C_, T_, Setter_, Getter_ > &t)
 
template<class C_ , class T_ , T_(C_::*)() const Getter_, void(C_::*)(const T_ &) Setter_>
T_ operator+ (const T_ &v, TextualProperty< C_, T_, Setter_, Getter_ > &t)
 
template<class C_ , class T_ , T_(C_::*)() const Getter_, void(C_::*)(const T_ &) Setter_>
T_ operator+ (TextualProperty< C_, T_, Setter_, Getter_ > &t, const char *v)
 
template<class C_ , class T_ , T_(C_::*)() const Getter_, void(C_::*)(const T_ &) Setter_>
T_ operator+ (TextualProperty< C_, T_, Setter_, Getter_ > &t, const T_ &v)
 
template<class C_ , class T_ , T_(C_::*)() const G_, void(C_::*)(const T_ &) S_>
std::ostream & operator<< (std::ostream &out, const NumericProperty< C_, T_, G_, S_ > &p)
 
template<class C_ , class T_ , T_(C_::*)() const G_, void(C_::*)(const T_ &) S_>
std::ostream & operator<< (std::ostream &out, const TextualProperty< C_, T_, G_, S_ > &p)
 
template<class C_ , class T_ , T_(C_::*)() const G_, void(C_::*)(const T_ &) S_>
std::istream & operator>> (std::istream &in, NumericProperty< C_, T_, G_, S_ > &p)
 
template<class C_ , class T_ , T_(C_::*)() const G_, void(C_::*)(const T_ &) S_>
std::istream & operator>> (std::istream &in, TextualProperty< C_, T_, G_, S_ > &p)
 

Macro Definition Documentation

◆ MAP_PROPERTY

#define MAP_PROPERTY (   type,
  name,
  variable 
)

Good for testing nothing else, you probably should use normal variables if you need something like this.

◆ PROPERTY_UPDATE

#define PROPERTY_UPDATE (   cls,
  proptype,
  type,
  name,
  def 
)

If property is there to call Update every time the value is changed, this mapper can handle this situation.

Names the member variable as m_name. For proptype use the prefix part of the property name: Numeric for NumericProperty