Package Class Reference

#include <reflectionbase.h>

Inheritance diagram for Package:

Detailed Description

Package represents a package, that is a container of other packages, functions or classes which share the same prefix in their identifiers.

Public Member Functions

MAXON_METHOD Block< const Package *const > GetPackages () const
 
MAXON_METHOD const PackageFindPackage (const Id &name) const
 
- Public Member Functions inherited from Container
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 MAXON_METHOD const PackageGetGlobalPackage ()
 
- Static Public Member Functions inherited from Container
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 (Package, MAXON_REFERENCE_NONE, "net.maxon.reflection.interface.package", 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
}
 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL_DERIVED()

MAXON_INTERFACE_NONVIRTUAL_DERIVED ( Package  ,
MAXON_REFERENCE_NONE  ,
"net.maxon.reflection.interface.package"  ,
MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")   
)
private

◆ GetPackages()

MAXON_METHOD Block<const Package* const> GetPackages ( ) const

Returns a list of all packages which are directly contained within this package.

Returns
All packages which are directly contained within this package.

◆ FindPackage()

MAXON_METHOD const Package* FindPackage ( const Id name) const

Finds the package which is directly contained within this package and has the given (unqualified) name.

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

◆ GetGlobalPackage()

static MAXON_METHOD const Package* GetGlobalPackage ( )
static

Returns the global package. All other members are directly or indirectly contained within the global package.

Returns
Representation of the global package.