#include <reflectionbase.h>
Container is the base interface of members which may contain other members, i.e., of packages and classes. Correspondingly, there are two derived interfaces Package and Class.
Public Member Functions | |
MAXON_METHOD Block< const Class *const > | GetClasses () const |
MAXON_METHOD const Class * | FindClass (const Id &name) const |
MAXON_METHOD Block< const Function *const > | GetFunctions () const |
MAXON_METHOD Result< const Function * > | FindFunction (const Id &name) const |
MAXON_METHOD Result< void > | FindFunctions (const Id &name, const ValueReceiver< const Function * > &result) const |
Public Member Functions inherited from Member | |
enum maxon::reflection::Member::KIND | MAXON_ENUM_FLAGS_CLASS (KIND) |
MAXON_METHOD const Container * | GetEnclosingContainer () const |
MAXON_METHOD KIND | GetKind () const |
MAXON_METHOD const Id & | GetSimpleName () const |
MAXON_METHOD const Id & | GetId () const |
MAXON_METHOD String | ToString (const FormatStatement *fs=nullptr) const |
Static Public Member Functions | |
static const Container * | Find (const Id &memberId) |
Static Public Member Functions inherited from Member | |
static MAXON_METHOD Result< Bool > | GetMembers (const ValueReceiver< const Member & > &members) |
static MAXON_METHOD const Member * | Find (const Id &memberId) |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL_DERIVED (Container, MAXON_REFERENCE_NONE, "net.maxon.reflection.interface.container", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
Additional Inherited Members | |
Public Types inherited from Member | |
enum class | KIND { PACKAGE , CLASS , FUNCTION , INSTANCE_FUNCTION , CONST_INSTANCE_FUNCTION , CONTAINER_TEST , FUNCTION_TEST } |
|
private |
MAXON_METHOD Block<const Class* const> GetClasses | ( | ) | const |
MAXON_METHOD const Class* FindClass | ( | const Id & | name | ) | const |
Finds the class which is a direct member of this container and has the given (unqualified) name
. This does not search for inherited member classes of a class.
[in] | name | Name of the class to find. |
name
. MAXON_METHOD Block<const Function* const> GetFunctions | ( | ) | const |
MAXON_METHOD Result<const Function*> FindFunction | ( | const Id & | name | ) | const |
Finds the function which is a direct member of this container and has the given (unqualified) name
. If no such function exists, or if the function is overloaded, an error is returned. This does not search for inherited member functions of classes.
[in] | name | Name of the function to find. |
MAXON_METHOD Result<void> FindFunctions | ( | const Id & | name, |
const ValueReceiver< const Function * > & | result | ||
) | const |
Finds all functions which are direct members of this container and have the given (unqualified) name
. This does not search for inherited member functions of classes.
[in] | name | Name of the function to find. |
[out] | result | Receiver for the found functions. |