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
 
const MAXON_METHOD PackageFindPackage (const Id &name) const
 
- Public Member Functions inherited from Container
MAXON_METHOD Block< const Class *const > GetClasses () const
 
const MAXON_METHOD 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)
 
const MAXON_METHOD ContainerGetEnclosingContainer () const
 
MAXON_METHOD KIND GetKind () const
 
const MAXON_METHOD IdGetSimpleName () const
 
const MAXON_METHOD IdGetId () const
 
MAXON_METHOD String ToString (const FormatStatement *fs=nullptr) const
 

Static Public Member Functions

static const MAXON_METHOD 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 const MAXON_METHOD MemberFind (const Id &memberId)
 

Private Member Functions

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

Additional Inherited Members

- Public Types inherited from Member
enum  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"   
)
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()

const MAXON_METHOD 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 const MAXON_METHOD 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.