#include <Xrtti.h>
Public Member Functions | |
virtual | ~Method () |
bool | operator== (const Method &other) const |
bool | operator!= (const Method &other) const |
virtual bool | IsOperatorMethod () const =0 |
virtual bool | IsConst () const =0 |
virtual bool | IsVirtual () const =0 |
virtual bool | IsPureVirtual () const =0 |
virtual const MethodSignature & | GetSignature () const =0 |
virtual const char * | GetArgumentName (u32 index) const =0 |
virtual bool | IsInvokeable () const =0 |
virtual void | Invoke (void *pInstance, void *pReturnValue, void **pArgumentValues) const =0 |
virtual Xrtti::Method::~Method | ( | ) | [inline, virtual] |
bool Xrtti::Method::operator== | ( | const Method & | other | ) | const |
Equality operator - returns true if this object is "functionally equivalent" to [other]. The two objects don't have to be exactly identical, but do have to be identical in every meaningful way. Note also that this doesn't test for equality of any base class members; it is a test only at this level of the inheritence hierarcy. To test if an object is completely equals, including for all of its subclasses defined in the Xrtti hierarchy, you must cast this class to its most derived class and call that method.
other | is the other object to compare against |
bool Xrtti::Method::operator!= | ( | const Method & | other | ) | const [inline] |
Inequality operator - returns false when the == operator would return true, and vice versa.
other | is the other object to compare against |
virtual bool Xrtti::Method::IsOperatorMethod | ( | ) | const [pure virtual] |
Returns true if the method is an operator method, false if not.
virtual bool Xrtti::Method::IsConst | ( | ) | const [pure virtual] |
Returns true if the method is const, false if it is not.
virtual bool Xrtti::Method::IsVirtual | ( | ) | const [pure virtual] |
Returns true if the method is virtual, false if it is concrete.
virtual bool Xrtti::Method::IsPureVirtual | ( | ) | const [pure virtual] |
Returns true if the method is pure virtual, false if it is not.
virtual const MethodSignature& Xrtti::Method::GetSignature | ( | ) | const [pure virtual] |
Returns an object describing the signature of this method.
virtual const char* Xrtti::Method::GetArgumentName | ( | u32 | index | ) | const [pure virtual] |
Additionally, a Method gives names to its arguments. This returns the name of argument at index [index].
virtual bool Xrtti::Method::IsInvokeable | ( | ) | const [pure virtual] |
virtual void Xrtti::Method::Invoke | ( | void * | pInstance, | |
void * | pReturnValue, | |||
void ** | pArgumentValues | |||
) | const [pure virtual] |
Invokes this method on an instance of the class represented by the Class containing this Method. It is an error to attempt to invoke a pure virtual method. This method has no effect if the containing Structure is anonymous, since methods cannot be called on anonymous structures.
pInstance | is the instance of the class to invoke this method on | |
pReturnValue | is a pointer to the memory in which the return value resulting from the invocation of the method will be stored. This pointer must be to a type which matches the return type of the method. If the method has no return value, then this argument is ignored. | |
pArgumentValues | is an array of pointers to the arguments to pass to this method. The number of pointers in pArguments must match the number of arguments to this method. |