#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. |