This class allows a one to one mapping of a data member to a c++ data member.
More...
|
| MappedInstanceMember (T_ classbase::*member, const std::string &name, const std::string &help, const Type *type, bool constant=false, bool ref=false) |
| Constructor. More...
|
|
| MappedROInstanceMember (T_ classbase::*member, const std::string &name, const std::string &help, const Type *type, bool constant=false) |
| Constructor. More...
|
|
virtual | ~MappedROInstanceMember () |
|
| InstanceMember (const std::string &name, const std::string &help, const Type &type, bool constant=false, bool ref=false, bool readonly=false) |
| Constructor. More...
|
|
virtual | ~InstanceMember () |
|
Data | Get (Data &source) const |
| Gets data from the datamember. More...
|
|
const Type & | GetType () const |
| Returns the type of this data member. More...
|
|
bool | IsConstant () const |
| Returns whether this member is a constant. More...
|
|
virtual bool | IsInstanceMember () const override final |
| Returns if this member is an instance member. More...
|
|
bool | IsReadonly () const |
| Returns whether this member is read-only. More...
|
|
bool | IsReference () const |
| Returns whether this member is a reference. More...
|
|
void | Set (Data &source, Data &value) const |
| Sets the data of the data member, if the source is a reference, this function should perform in place replacement of the value. More...
|
|
| Member (const std::string &name, const std::string &help) |
|
virtual | ~Member () |
|
std::string | GetHelp () const |
| Returns the help string. Help strings may contain markdown notation. More...
|
|
std::string | GetName () const |
| Returns the name of this member. More...
|
|
const Member * | GetOwner () const |
|
std::string | GetQualifiedName () const |
| Returns the namespace qualified name of this member. More...
|
|
|
template<class T2_ = T_> |
std::enable_if<!std::is_pointer< T2_ >::value, T2_ >::type & | getref (T2_ &value) const |
|
template<class T2_ = T_> |
std::enable_if< std::is_pointer< T2_ >::value, typename std::remove_pointer< T2_ >::type >::type & | getref (T2_ value) const |
|
virtual void | set (Data &source, Data &value) const override |
| This function should perform set operation. More...
|
|
| MappedROInstanceMember (T_ classbase::*member, const std::string &name, const std::string &help, const Type *type, bool constant, bool ref, bool readonly) |
|
virtual Data | get (Scripting::Data &data) const override |
| This function should return the value of this member. More...
|
|
template<class T2_ = T_> |
std::enable_if< std::is_copy_constructible< T2_ >::value, Data >::type | getnonref (Data &data) const |
|
template<class T2_ = T_> |
std::enable_if<!std::is_copy_constructible< T2_ >::value, Data >::type | getnonref (Data &data) const |
|
virtual void | typecheck (const Scripting::Type *type) const override final |
| Type checks the parent. More...
|
|
virtual void | SetParent (const Member &parent) |
| Changes the parent of the member. More...
|
|
|
template<class C2_ = C_> |
static std::enable_if<!std::is_pointer< C2_ >::value, const C2_ * >::type | clstoptr (const C2_ &val) |
|
template<class C2_ = C_> |
static std::enable_if< std::is_pointer< C2_ >::value, const C2_ >::type | clstoptr (const C2_ val) |
|
template<class T2_ = T_> |
static std::enable_if< istypeptr, typename std::remove_pointer< T2_ >::type >::type | deref (const T2_ val) |
|
template<class T2_ = T_> |
static std::enable_if<!istypeptr, typename std::remove_pointer< T2_ >::type >::type | deref (const T2_ val) |
|
template<class T2_ = T_> |
static std::enable_if<!istypeptr, T2_ * >::type | toptr (T2_ &val) |
|
template<class T2_ = T_> |
static std::enable_if< istypeptr, T2_ >::type | toptr (T2_ val) |
|
T_ classbase::* | member |
|
bool | constant |
| This instance member is a constant. More...
|
|
bool | readonly |
| Marks this instance as read-only. More...
|
|
bool | reference |
| This instance member is a reference. More...
|
|
const Type * | type |
| Type of the datamember. More...
|
|
std::string | help |
| Help string of the datamember. More...
|
|
std::string | name |
| The name of the datamember. More...
|
|
const Member * | parent |
|
template<class C_, class T_>
class Gorgon::Scripting::MappedInstanceMember< C_, T_ >
This class allows a one to one mapping of a data member to a c++ data member.