Container Class Reference

#include <reflectionbase.h>

Inheritance diagram for Container:

详细描述

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 .

公共成员函数

MAXON_METHOD Block < const Class *const >  GetClasses () const
const MAXON_METHOD Class FindClass (const Id &name) const
MAXON_METHOD Block < const 函数 *const >  GetFunctions () const
MAXON_METHOD Result < const 函数 * >  FindFunction (const Id &name) const
MAXON_METHOD Result < void >  FindFunctions (const Id &name, const ValueReceiver < const 函数 * > &result) const
-  Public Member Functions inherited from Member
enum maxon::reflection::Member::KIND   MAXON_ENUM_FLAGS_CLASS ( KIND )
const MAXON_METHOD Container GetEnclosingContainer () const
MAXON_METHOD KIND   GetKind () const
const MAXON_METHOD Id GetSimpleName () const
const MAXON_METHOD Id GetId () const
MAXON_METHOD String   ToString (const FormatStatement *fs=nullptr) const

静态公共成员函数

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 const MAXON_METHOD Member Find (const Id &memberId)

私有成员函数

  MAXON_INTERFACE_NONVIRTUAL_DERIVED ( Container , MAXON_REFERENCE_NONE , "net.maxon.reflection.interface.container")

Additional Inherited Members

-  Public Types inherited from Member
enum   KIND {
   PACKAGE ,
   CLASS ,
   FUNCTION ,
   INSTANCE_FUNCTION ,
   CONST_INSTANCE_FUNCTION ,
   CONTAINER_TEST ,
   FUNCTION_TEST
}

成员函数文档编制

◆  MAXON_INTERFACE_NONVIRTUAL_DERIVED()

MAXON_INTERFACE_NONVIRTUAL_DERIVED ( Container   ,
MAXON_REFERENCE_NONE   ,
"net.maxon.reflection.interface.container"   
)
private

◆  GetClasses()

MAXON_METHOD Block <const Class * const> GetClasses ( ) const

Returns a list of all classes which are members of this container. For a Package , these are its top-level classes. For a Class , these are the direct member classes, excluding inherited member classes.

返回
All classes which are direct members of this container.

◆  FindClass()

const MAXON_METHOD 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.
返回
The found class, or nullptr if there is no class with the given name .

◆  GetFunctions()

MAXON_METHOD Block <const 函数 * const> GetFunctions ( ) const

Returns a list of all functions which are members of this container. For a Package , these are its top-level functions. For a Class , these are its member functions, excluding inherited member functions.

返回
All functions which are direct members of this container.

◆  FindFunction()

MAXON_METHOD Result <const 函数 *> 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.
返回
The found function, or an error if no function is found or the function is overloaded.

◆  FindFunctions()

MAXON_METHOD Result <void> FindFunctions ( const Id name ,
const ValueReceiver < const 函数 * > &  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.
返回
OK unless a memory allocation failed.

◆  Find()

static const Container * Find ( const Id memberId )
static