Open Search
    Container Class Reference

    #include <reflectionbase.h>

    Inheritance diagram for Container:

    Detailed Description

    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 ClassFindClass (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 ContainerGetEnclosingContainer () const
     
    MAXON_METHOD KIND GetKind () const
     
    MAXON_METHOD const IdGetSimpleName () const
     
    MAXON_METHOD const IdGetId () const
     
    MAXON_METHOD String ToString (const FormatStatement *fs=nullptr) const
     

    Static Public Member Functions

    static const ContainerFind (const Id &memberId)
     
    - Static Public Member Functions inherited from Member
    static MAXON_METHOD Result< BoolGetMembers (const ValueReceiver< const Member & > &members)
     
    static MAXON_METHOD const MemberFind (const Id &memberId)
     

    Private Member Functions

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

    Additional Inherited Members

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

    Member Function Documentation

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

    Returns
    All classes which are direct members of this container.

    ◆ FindClass()

    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.

    Parameters
    [in]nameName of the class to find.
    Returns
    The found class, or nullptr if there is no class with the given name.

    ◆ GetFunctions()

    MAXON_METHOD Block<const Function* 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.

    Returns
    All functions which are direct members of this container.

    ◆ FindFunction()

    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.

    Parameters
    [in]nameName of the function to find.
    Returns
    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 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.

    Parameters
    [in]nameName of the function to find.
    [out]resultReceiver for the found functions.
    Returns
    OK unless a memory allocation failed.

    ◆ Find()

    static const Container* Find ( const Id memberId)
    static