![]() |
Gorgon Game Engine
|
This class makes working with operators easier. More...
Public Member Functions | |
template<class F_ > | |
MappedOperator (const std::string &name, const std::string &help, const Type *parent, const Type *returntype, const Type *rhs, F_ fn) | |
Constructor, returntype and parent could be nullptr, tags are optional. More... | |
MappedOperator (const std::string &name, const std::string &help, const Type *parent, std::initializer_list< Function::Overload * > overloads) | |
template<class F_ > | |
void | AddOverload (F_ fn, const Type *returntype, const Type *rhs) |
Adds a new operator overload. More... | |
![]() | |
Function (const Function &)=delete | |
template<class ... P_> | |
Function (const std::string &name, const std::string &help, const Type *parent, bool keyword, bool isoperator, bool staticmember) | |
Full constructor. More... | |
template<class ... P_> | |
Function (const std::string &name, const std::string &help, const Type *parent, const Containers::Collection< Overload > &overloads, const Containers::Collection< Overload > &methods, Tag tag, P_ ...tags) | |
Regular constructor with both overloads and methods specified a long with at least a single tag. More... | |
template<class ... P_> | |
Function (const std::string &name, const std::string &help, const Type *parent, const Containers::Collection< Overload > &overloads, const Containers::Collection< Overload > &methods=Containers::Collection< Overload >()) | |
Regular constructor with both overloads and methods without any tags. More... | |
template<class ... P_> | |
Function (const std::string &name, const std::string &help, const Type *parent, const Containers::Collection< Overload > &overloads, Tag tag, P_ ...tags) | |
Regular constructor with overloads specified a long with at least a single tag. More... | |
virtual | ~Function () |
virtual void | AddMethod (Overload &overload) |
Adds the given overload as a method to this function after performing necessary checks. More... | |
virtual void | AddMethod (Overload *overload) |
Adds the given overload as a method to this function after performing necessary checks. More... | |
virtual void | AddOverload (Overload &overload) |
Adds the given overload to this function after performing necessary checks. More... | |
virtual void | AddOverload (Overload *overload) |
Adds the given overload to this function after performing necessary checks. More... | |
virtual Data | Get () const override final |
Returns the value of this static member. More... | |
virtual MemberType | GetMemberType () const override |
Returns the type of this member. More... | |
const Type & | GetOwner () const |
If this function is a member function, returns the owner object. More... | |
bool | IsKeyword () const |
Returns if this function is actually a keyword. More... | |
bool | IsMember () const |
Returns if this function is a member function of a type. More... | |
bool | IsOperator () const |
Returns if this function is an operator. More... | |
bool | IsStatic () const |
Returns if this function is static. Only meaningful when the function is a member function. More... | |
virtual void | SetParent (const Member &parent) override final |
Changes the parent of the member. More... | |
![]() | |
StaticMember (const std::string &name, const std::string &help) | |
bool | IsInstanceable () const |
Whether this member can be used to instantiate an object. More... | |
virtual bool | IsInstanceMember () const override final |
Returns if this member is an instance member. 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... | |
Additional Inherited Members | |
![]() | |
enum | MemberType { RegularType, EventType, EnumType, Namespace, DataMember, Function, Constant } |
Possible member types. More... | |
![]() | |
const Containers::Collection< Overload > & | Methods |
The list of methods this function has. More... | |
const Containers::Collection< Overload > & | Overloads |
The list of overloads this function has. More... | |
![]() | |
std::string | help |
Help string of the datamember. More... | |
std::string | name |
The name of the datamember. More... | |
const Member * | parent |
This class makes working with operators easier.
MappedOperator | ( | const std::string & | name, |
const std::string & | help, | ||
const Type * | parent, | ||
const Type * | returntype, | ||
const Type * | rhs, | ||
F_ | fn | ||
) |
Constructor, returntype and parent could be nullptr, tags are optional.
MappedOperator | ( | const std::string & | name, |
const std::string & | help, | ||
const Type * | parent, | ||
std::initializer_list< Function::Overload * > | overloads | ||
) |
Adds a new operator overload.
References Function::AddOverload(), ASSERT, Gorgon::Scripting::ConstTag, and Gorgon::Scripting::MapFunction().