ug4
|
Registry for functions and classes that are exported to scripts and visualizations. More...
#include <registry.h>
Public Member Functions | |
template<typename TFunc > | |
ExportedFunction * | add_and_get_function (std::string funcName, TFunc func, std::string group="", std::string retValInfos="", std::string paramInfos="", std::string tooltip="", std::string help="") |
Similar to add_function but returns the added function instead of the registry. | |
void | add_callback (FuncRegistryChanged callback) |
adds a callback which is triggered whenever Registry::registry_changed is called. | |
template<typename TClass > | |
ExportedClass< TClass > & | add_class_ (std::string className, std::string group="", std::string tooltip="") |
Register a class at this registry. | |
template<typename TClass , typename TBaseClass > | |
ExportedClass< TClass > & | add_class_ (std::string className, std::string group="", std::string tooltip="") |
Register a class at this registry together with its base class. | |
template<typename TClass , typename TBaseClass1 , typename TBaseClass2 > | |
ExportedClass< TClass > & | add_class_ (std::string className, std::string group="", std::string tooltip="") |
Register a class at this registry together with two base classes. | |
void | add_class_to_group (std::string className, std::string groupName, std::string classTag="") |
adds the given class to the given group. | |
template<typename TFunc > | |
Registry & | add_function (std::string funcName, TFunc func, std::string group="", std::string retValInfos="", std::string paramInfos="", std::string tooltip="", std::string help="") |
adds a function to the registry | |
bool | check_consistency () |
returns true if everything well-declared, else false | |
bool | classname_registered (const std::string &name) |
returns true if classname is already used by a class in this registry | |
bool | functionname_registered (const std::string &name) |
returns true if functionname is already used by a function in this registry | |
IExportedClass * | get_class (const std::string &name) |
returns an exported class | |
const IExportedClass * | get_class (const std::string &name) const |
returns an exported class | |
const IExportedClass & | get_class (size_t ind) const |
returns an exported class | |
template<typename TClass > | |
ExportedClass< TClass > & | get_class_ () |
Get Reference to already registered class. | |
ClassGroupDesc * | get_class_group (const std::string &name) |
Returns the class-group with the given name. | |
const ClassGroupDesc * | get_class_group (const std::string &name) const |
Returns the class-group with the given name. | |
ClassGroupDesc * | get_class_group (size_t i) |
returns a pointer to the i-th class group | |
const ClassGroupDesc * | get_class_group (size_t i) const |
returns a const pointer to the i-th class group | |
ExportedFunctionGroup * | get_exported_function_group (const std::string &name) |
returns an exported function group by name | |
ExportedFunction & | get_function (size_t ind) |
returns the first overload of an exported function | |
const ExportedFunction & | get_function (size_t ind) const |
ExportedFunctionGroup & | get_function_group (size_t ind) |
returns a group which contains all overloads of a function | |
ExportedFunction & | get_overload (size_t funcInd, size_t oInd) |
returns the i-th overload of a function | |
bool | groupname_registered (const std::string &name) |
returns true if groupname is already used by a class in this registry | |
size_t | num_class_groups () const |
returns the number of available class groups | |
size_t | num_classes () const |
number of classes registered at the Registry | |
size_t | num_functions () const |
number of functions registered at the Registry (overloads are not counted) | |
size_t | num_overloads (size_t ind) const |
returns the number of overloads of a function | |
Registry () | |
constructor | |
bool | registry_changed () |
call this method if to forward changes of the registry to its listeners | |
void | set_force_construct_via_smart_pointer (bool bForceConstructionWithSmartPtr) |
requires every constructable class to be constructed via Smart-Pointer | |
~Registry () | |
destructor | |
Protected Member Functions | |
template<typename TClass , typename TBaseClass > | |
void | check_base_class (const std::string &className) |
performs some checks, throws error if something wrong | |
Private Member Functions | |
Registry (const Registry ®) | |
Private Attributes | |
bool | m_bForceConstructionWithSmartPtr |
flag if classes must be constructed via smart-pointer | |
std::vector< FuncRegistryChanged > | m_callbacksRegChanged |
Callback, that are called when registry changed is invoked. | |
std::vector< IExportedClass * > | m_vClass |
registered classes | |
std::vector< ClassGroupDesc * > | m_vClassGroups |
registered class groups | |
std::vector< ExportedFunctionGroup * > | m_vFunction |
registered functions | |
Registry for functions and classes that are exported to scripts and visualizations.
It also allows to register callbacks that are called if the registry changes.
Please note that once a class or method is registered at the registry, it can not be removed (This is important for the implementation of callbacks).
Please note, that some of the methods take std::string by copy instead of using const std::string&. This is on purpose in order to allow a call of the method using a const char* as well.
ug::bridge::Registry::Registry | ( | ) |
constructor
ug::bridge::Registry::~Registry | ( | ) |
destructor
References m_vClass, m_vClassGroups, and m_vFunction.
|
private |
ExportedFunction * ug::bridge::Registry::add_and_get_function | ( | std::string | funcName, |
TFunc | func, | ||
std::string | group = "" , |
||
std::string | retValInfos = "" , |
||
std::string | paramInfos = "" , |
||
std::string | tooltip = "" , |
||
std::string | help = "" |
||
) |
Similar to add_function but returns the added function instead of the registry.
References ug::bridge::ExportedFunctionGroup::add_overload(), func(), get_exported_function_group(), ug::GetRegistryIdentifierMessage(), ug::IsValidRegistryIdentifier(), m_vFunction, ug::TrimString(), and UG_THROW_REGISTRY_ERROR.
Referenced by add_function().
void ug::bridge::Registry::add_callback | ( | FuncRegistryChanged | callback | ) |
adds a callback which is triggered whenever Registry::registry_changed is called.
References m_callbacksRegChanged.
Referenced by ug::script::GetDefaultLuaState().
ExportedClass< TClass > & ug::bridge::Registry::add_class_ | ( | std::string | className, |
std::string | group = "" , |
||
std::string | tooltip = "" |
||
) |
Register a class at this registry.
className | name of the class to appear in the registry |
group | registry group. use / for subgroups e.g. ug4/mygroup/mysubgroup (optional) |
toolTip | describing text for the class (optional) |
References classname_registered(), ug::GetRegistryIdentifierMessage(), groupname_registered(), ug::IsValidRegistryIdentifier(), m_vClass, and UG_THROW_REGISTRY_ERROR.
Referenced by ug::bridge::AlgebraCommon::Functionality::Algebra(), ug::bridge::Eigensolver::Functionality::Algebra(), ug::bridge::Preconditioner::Functionality::Algebra(), ug::bridge::Ordering::Functionality::Algebra(), ug::bridge::Schur::Functionality::Algebra(), ug::bridge::Solver::Functionality::Algebra(), ug::bridge::DomainDisc::Functionality::Algebra(), ug::bridge::DiscAlgebra::Functionality::Algebra(), ug::bridge::LuaUserData::Functionality::Common(), ug::bridge::AlgebraCommon::Functionality::Common(), ug::bridge::GridFunction::Functionality::Common(), ug::bridge::UserDataBridge::Functionality::Common(), ug::bridge::Domain::Functionality::Common(), ug::bridge::LoadBalancing::Functionality::Common(), ug::bridge::periodicBoundary::Functionality::Common(), ug::bridge::domain_ray_tracing::Functionality::Common(), ug::bridge::DiscAlgebra::Functionality::Common(), ug::bridge::LuaUserData::Functionality::Dimension(), ug::bridge::Output::Functionality::Dimension(), ug::bridge::UserDataBridge::Functionality::Dimension(), ug::bridge::AdaptiveTools::Functionality::Domain(), ug::bridge::DomainDisc::Functionality::Domain(), ug::bridge::ElemDiscs::Functionality::Domain(), ug::bridge::GridFunction::Functionality::Domain(), ug::bridge::UserDataBridge::Functionality::Domain(), ug::bridge::Domain::Functionality::Domain(), ug::bridge::LoadBalancing::Functionality::Domain(), ug::bridge::domain_ray_tracing::Functionality::Domain(), ug::bridge::CLI_Functionality::DomainAlgebra(), ug::bridge::Obstacle::Functionality::DomainAlgebra(), ug::bridge::Constraints::Functionality::DomainAlgebra(), ug::bridge::Preconditioner::Functionality::DomainAlgebra(), ug::bridge::DomainDisc::Functionality::DomainAlgebra(), ug::bridge::Evaluate::Functionality::DomainAlgebra(), ug::bridge::GridFunction::Functionality::DomainAlgebra(), ug::bridge::MultiGrid::Functionality::DomainAlgebra(), ug::bridge::Ordering::Functionality::DomainAlgebra(), ug::bridge::Output::Functionality::DomainAlgebra(), ug::bridge::DiscAlgebra::Functionality::DomainAlgebra(), ug::vrl::registerBasicTest(), ug::bridge::Preconditioner::Functionality::RegisterBlockGaussSeidel(), ug::bridge::Preconditioner::Functionality::RegisterBlockGaussSeidelIterative(), ug::bridge::RegisterBridge_DiscCommon(), ug::bridge::RegisterBridge_Misc(), ug::bridge::RegisterBridge_Profiler(), ug::bridge::RegisterBridge_Test(), ug::bridge::RegisterBridge_Util(), ug::bridge::LoadBalancing::RegisterClusterElementStacks(), ug::bridge::RegisterDegeneratedLayerManager(), ug::bridge::LoadBalancing::RegisterDynamicBisectionPartitioner(), ug::bridge::RegisterGeometry(), ug::bridge::RegisterGridBridge_Balancing(), ug::bridge::RegisterGridBridge_FileIO(), ug::bridge::RegisterGridBridge_Grid(), ug::bridge::RegisterGridBridge_Layers(), ug::bridge::RegisterGridBridge_Refinement(), ug::bridge::RegisterGridBridge_Selector(), ug::bridge::RegisterGridBridge_SubsetHandler(), ug::bridge::LuaUserData::RegisterLuaUserDataType(), ug::vrl::registerNumberArray(), ug::vrl::registerPlayground(), ug::bridge::RegisterRaster(), ug::bridge::RegisterRasterUserData(), ug::bridge::LoadBalancing::RegisterSmoothPartitionBounds(), ug::bridge::RegisterStandardBridges(), ug::vrl::RegisterUserData(), ug::vrl::RegisterUserDataType(), ug::bridge::RegisterUserDataTypeA(), ug::bridge::RegisterUserDataTypeB(), ug::bridge::RegisterVecMathBridge_DimIndep(), and ug::vrl::RegisterVRLFunctionality().
ExportedClass< TClass > & ug::bridge::Registry::add_class_ | ( | std::string | className, |
std::string | group = "" , |
||
std::string | tooltip = "" |
||
) |
Register a class at this registry together with its base class.
className | name of the class to appear in the registry |
group | registry group. use / for subgroups e.g. ug4/mygroup/mysubgroup (optional) |
toolTip | describing text for the class (optional) |
References classname_registered(), ug::GetRegistryIdentifierMessage(), groupname_registered(), ug::IsValidRegistryIdentifier(), m_vClass, and UG_THROW_REGISTRY_ERROR.
ExportedClass< TClass > & ug::bridge::Registry::add_class_ | ( | std::string | className, |
std::string | group = "" , |
||
std::string | tooltip = "" |
||
) |
Register a class at this registry together with two base classes.
className | name of the class to appear in the registry |
group | registry group. use / for subgroups e.g. ug4/mygroup/mysubgroup (optional) |
toolTip | describing text for the class (optional) |
References classname_registered(), ug::GetRegistryIdentifierMessage(), groupname_registered(), ug::IsValidRegistryIdentifier(), m_vClass, and UG_THROW_REGISTRY_ERROR.
void ug::bridge::Registry::add_class_to_group | ( | std::string | className, |
std::string | groupName, | ||
std::string | classTag = "" |
||
) |
adds the given class to the given group.
Groups are constructed automatically if required. This method is just for convenience. It is effectively the same as: get_class_group(groupName).add_class(reg.get_class(className), classTag).
References ug::bridge::ClassGroupDesc::add_class(), classname_registered(), get_class(), get_class_group(), and UG_THROW_REGISTRY_ERROR.
Referenced by ug::bridge::AlgebraCommon::Functionality::Algebra(), ug::bridge::Eigensolver::Functionality::Algebra(), ug::bridge::Preconditioner::Functionality::Algebra(), ug::bridge::Ordering::Functionality::Algebra(), ug::bridge::Schur::Functionality::Algebra(), ug::bridge::Solver::Functionality::Algebra(), ug::bridge::DomainDisc::Functionality::Algebra(), ug::bridge::DiscAlgebra::Functionality::Algebra(), ug::bridge::AlgebraCommon::Functionality::Common(), ug::bridge::LuaUserData::Functionality::Dimension(), ug::bridge::Output::Functionality::Dimension(), ug::bridge::UserDataBridge::Functionality::Dimension(), ug::bridge::AdaptiveTools::Functionality::Domain(), ug::bridge::DomainDisc::Functionality::Domain(), ug::bridge::ElemDiscs::Functionality::Domain(), ug::bridge::GridFunction::Functionality::Domain(), ug::bridge::UserDataBridge::Functionality::Domain(), ug::bridge::Domain::Functionality::Domain(), ug::bridge::LoadBalancing::Functionality::Domain(), ug::bridge::domain_ray_tracing::Functionality::Domain(), ug::bridge::CLI_Functionality::DomainAlgebra(), ug::bridge::Obstacle::Functionality::DomainAlgebra(), ug::bridge::Constraints::Functionality::DomainAlgebra(), ug::bridge::Preconditioner::Functionality::DomainAlgebra(), ug::bridge::DomainDisc::Functionality::DomainAlgebra(), ug::bridge::Evaluate::Functionality::DomainAlgebra(), ug::bridge::GridFunction::Functionality::DomainAlgebra(), ug::bridge::MultiGrid::Functionality::DomainAlgebra(), ug::bridge::Ordering::Functionality::DomainAlgebra(), ug::bridge::Output::Functionality::DomainAlgebra(), ug::bridge::DiscAlgebra::Functionality::DomainAlgebra(), ug::bridge::Preconditioner::Functionality::RegisterBlockGaussSeidel(), ug::bridge::Preconditioner::Functionality::RegisterBlockGaussSeidelIterative(), ug::bridge::LoadBalancing::RegisterClusterElementStacks(), ug::bridge::RegisterDegeneratedLayerManager(), ug::bridge::LoadBalancing::RegisterDynamicBisectionPartitioner(), ug::bridge::RegisterGeometry(), ug::bridge::RegisterGridBridge_Refinement(), ug::bridge::LuaUserData::RegisterLuaUserDataType(), ug::bridge::RegisterRaster(), ug::bridge::RegisterRasterUserData(), ug::bridge::LoadBalancing::RegisterSmoothPartitionBounds(), ug::vrl::RegisterUserData(), ug::vrl::RegisterUserDataType(), ug::bridge::RegisterUserDataTypeA(), ug::bridge::RegisterUserDataTypeB(), and ug::bridge::RegisterVecMathBridge_DimIndep().
Registry & ug::bridge::Registry::add_function | ( | std::string | funcName, |
TFunc | func, | ||
std::string | group = "" , |
||
std::string | retValInfos = "" , |
||
std::string | paramInfos = "" , |
||
std::string | tooltip = "" , |
||
std::string | help = "" |
||
) |
adds a function to the registry
funcName | the name of the function |
func | function pointer of the function |
group | registry group. use / for subgroups e.g. ug4/mygroup/mysubgroup (optional) |
retValInfos | string documenting what the function returns (optional) |
paramInfos | string documenting the parameters of the function seperate parameters with an # e.g. "x#y#z" (don't specify the type of the values) (optional) |
toolTip | small documentation for the function (optional) |
help | help string for the function |
References the template function proxy_function<TFunc> and stores it with the FuntionWrapper.
References add_and_get_function(), and func().
Referenced by ug::bridge::AlgebraCommon::Functionality::Algebra(), ug::bridge::Restart::Functionality::Algebra(), ug::bridge::Functionality::Algebra(), ug::bridge::DiscAlgebra::Functionality::Algebra(), ug::vrl::Functionality::Algebra(), ug::bridge::Output::Functionality::Common(), ug::bridge::periodicBoundary::Functionality::Common(), ug::bridge::Refinement::Functionality::Common(), ug::bridge::Selection::Functionality::Common(), ug::bridge::Output::Functionality::Dimension(), ug::bridge::AdaptiveTools::Functionality::Domain(), ug::bridge::Evaluate::Functionality::Domain(), ug::bridge::Ordering::Functionality::Domain(), ug::bridge::Domain::Functionality::Domain(), ug::bridge::Domain::Functionality2d3d::Domain(), ug::bridge::LoadBalancing::Functionality::Domain(), ug::bridge::periodicBoundary::Functionality::Domain(), ug::bridge::Refinement::Functionality::Domain(), ug::bridge::Selection::Functionality::Domain(), ug::bridge::Transform::Functionality::Domain(), ug::bridge::AdaptiveTools::Functionality::DomainAlgebra(), ug::bridge::Evaluate::Functionality::DomainAlgebra(), ug::bridge::GridFunction::Functionality::DomainAlgebra(), ug::bridge::Integrate::Functionality::DomainAlgebra(), ug::bridge::Interpolate::Functionality::DomainAlgebra(), ug::bridge::MaxError::Functionality::DomainAlgebra(), ug::bridge::Output::Functionality::DomainAlgebra(), ug::bridge::FiniteVolume::Functionality::DomainFVGeom(), ug::bridge::PostRegisterTest(), ug::vrl::registerBasicTest(), ug::bridge::RegisterBridge_Integrate(), ug::bridge::RegisterBridge_Misc(), ug::bridge::RegisterBridge_OrthoPoly(), ug::bridge::RegisterBridge_PCL(), ug::bridge::RegisterBridge_Profiler(), ug::bridge::RegisterBridge_ReferenceMappingTest(), ug::bridge::RegisterBridge_Test(), ug::bridge::RegisterBridge_Util(), ug::bridge::RegisterConverter(), ug::script::RegisterDefaultLuaBridge(), ug::bridge::RegisterGridBridge_Debug(), ug::bridge::RegisterGridBridge_FileIO(), ug::bridge::RegisterGridBridge_Grid(), ug::bridge::RegisterGridBridge_Layers(), ug::bridge::RegisterGridBridge_Misc(), ug::bridge::RegisterGridBridge_Refinement(), ug::bridge::RegisterGridBridge_SubsetHandler(), ug::bridge::RegisterInfoCommands(), ug::script::RegisterLuaDebug(), ug::vrl::registerMessaging(), ug::vrl::registerPlayground(), ug::bridge::RegisterSerializationCommands(), ug::bridge::RegisterStandardBridges(), ug::vrl::registerThrowUtil(), ug::vrl::registerUGFinalize(), ug::bridge::RegisterUserDataTypeA(), and ug::bridge::RegisterVecMathBridge_DimIndep().
|
protected |
performs some checks, throws error if something wrong
References classname_registered(), and UG_THROW_REGISTRY_ERROR.
bool ug::bridge::Registry::check_consistency | ( | ) |
returns true if everything well-declared, else false
References ug::bridge::IExportedClass::check_consistency(), ug::bridge::ExportedConstructor::check_consistency(), ug::bridge::ExportedFunctionBase::check_consistency(), ug::bridge::IExportedClass::construct_as_smart_pointer(), ug::FindDuplicates(), get_class(), ug::bridge::IExportedClass::get_const_method(), ug::bridge::IExportedClass::get_constructor(), get_function_group(), ug::bridge::IExportedClass::get_method(), ug::bridge::ExportedFunctionGroup::get_overload(), ug::bridge::IExportedClass::is_instantiable(), m_bForceConstructionWithSmartPtr, ug::bridge::ExportedFunctionGroup::name(), ug::bridge::IExportedClass::name(), num_classes(), ug::bridge::IExportedClass::num_const_methods(), ug::bridge::IExportedClass::num_constructors(), num_functions(), ug::bridge::IExportedClass::num_methods(), ug::bridge::ExportedFunctionGroup::num_overloads(), set_force_construct_via_smart_pointer(), ug::ToLower(), and UG_ERR_LOG.
Referenced by Java_edu_gcsc_vrl_ug_UG__1ugInit(), and ug::vrl::registry2NativeAPI().
bool ug::bridge::Registry::classname_registered | ( | const std::string & | name | ) |
returns true if classname is already used by a class in this registry
References get_class(), and name.
Referenced by add_class_(), add_class_to_group(), and check_base_class().
bool ug::bridge::Registry::functionname_registered | ( | const std::string & | name | ) |
returns true if functionname is already used by a function in this registry
References m_vFunction, and name.
Referenced by ug::script::RegisterDefaultLuaBridge().
IExportedClass * ug::bridge::Registry::get_class | ( | const std::string & | name | ) |
const IExportedClass * ug::bridge::Registry::get_class | ( | const std::string & | name | ) | const |
const IExportedClass & ug::bridge::Registry::get_class | ( | size_t | ind | ) | const |
returns an exported class
returns an exported function
References m_vClass.
Referenced by add_class_to_group(), check_consistency(), ug::vrl::classes2NativeClasses(), ug::bridge::ClassHierarchyString(), ug::bridge::ClassInfo(), ug::bridge::ClassInstantiations(), classname_registered(), ug::bridge::ClassUsage(), ug::bridge::ClassUsageExact(), ug::bridge::lua::CreateBindings_LUA(), ug::bridge::lua::GetBestMatchingMember(), ug::bridge::lua::GetBestMatchingMember(), ug::bridge::GetClassesCompletitions(), ug::bridge::GetClassHierarchy(), ug::bridge::GetLuaGlobals(), ug::bridge::GetMemberFunctionCompletitions(), ug::bridge::GetMemberFunctionInfo(), ug::vrl::invocation::initClasses(), ug::bridge::LuaList_classes(), ug::bridge::ScriptHasClass(), ug::script::UGGetClassGroup(), and ug::bridge::UGTypeInfo().
ExportedClass< TClass > & ug::bridge::Registry::get_class_ | ( | ) |
Get Reference to already registered class.
References m_vClass, name, ug::bridge::ClassNameProvider< TClass >::name(), and UG_THROW_REGISTRY_ERROR.
Referenced by ug::bridge::Output::Functionality::DomainAlgebra().
ClassGroupDesc * ug::bridge::Registry::get_class_group | ( | const std::string & | name | ) |
Returns the class-group with the given name.
If no such group exists at the time of calling, it will be created.
References ug::GetRegistryIdentifierMessage(), ug::IsValidRegistryIdentifier(), m_vClassGroups, name, ug::bridge::ClassGroupDesc::set_name(), and UG_THROW_REGISTRY_ERROR.
const ClassGroupDesc * ug::bridge::Registry::get_class_group | ( | const std::string & | name | ) | const |
Returns the class-group with the given name.
If no such group exists at the time of calling, NULL is returned.
References m_vClassGroups, and name.
ClassGroupDesc * ug::bridge::Registry::get_class_group | ( | size_t | i | ) |
returns a pointer to the i-th class group
References m_vClassGroups.
const ClassGroupDesc * ug::bridge::Registry::get_class_group | ( | size_t | i | ) | const |
returns a const pointer to the i-th class group
References m_vClassGroups.
Referenced by add_class_to_group(), ug::vrl::classGroups2NativeClassGroups(), ug::bridge::lua::CreateBindings_LUA(), ug::bridge::GetClassesCompletitions(), ug::bridge::InitUG(), Java_edu_gcsc_vrl_ug_UG__1getDefaultClassNameFromGroup(), Java_edu_gcsc_vrl_ug_UG__1getExportedClassPtrByName(), ug::bridge::ScriptHasClassGroup(), and ug::bridge::UGTypeInfo().
ExportedFunctionGroup * ug::bridge::Registry::get_exported_function_group | ( | const std::string & | name | ) |
returns an exported function group by name
References m_vFunction, and name.
Referenced by add_and_get_function(), ug::vrl::invocation::getFunctionBySignature(), and ug::bridge::WriteLUAObject2().
ExportedFunction & ug::bridge::Registry::get_function | ( | size_t | ind | ) |
returns the first overload of an exported function
References m_vFunction.
Referenced by ug::bridge::ClassUsageExact(), and ug::bridge::FindFunction().
const ExportedFunction & ug::bridge::Registry::get_function | ( | size_t | ind | ) | const |
References m_vFunction.
ExportedFunctionGroup & ug::bridge::Registry::get_function_group | ( | size_t | ind | ) |
returns a group which contains all overloads of a function
References m_vFunction.
Referenced by check_consistency(), ug::bridge::lua::CreateBindings_LUA(), and ug::vrl::functions2NativeGroups().
ExportedFunction & ug::bridge::Registry::get_overload | ( | size_t | funcInd, |
size_t | oInd | ||
) |
returns the i-th overload of a function
References m_vFunction.
bool ug::bridge::Registry::groupname_registered | ( | const std::string & | name | ) |
returns true if groupname is already used by a class in this registry
References m_vClassGroups, and name.
Referenced by add_class_().
size_t ug::bridge::Registry::num_class_groups | ( | ) | const |
returns the number of available class groups
References m_vClassGroups.
Referenced by ug::vrl::classGroups2NativeClassGroups(), ug::bridge::lua::CreateBindings_LUA(), ug::bridge::GetClassesCompletitions(), and ug::bridge::InitUG().
size_t ug::bridge::Registry::num_classes | ( | ) | const |
number of classes registered at the Registry
References m_vClass.
Referenced by check_consistency(), ug::vrl::classes2NativeClasses(), ug::bridge::ClassUsageExact(), ug::bridge::lua::CreateBindings_LUA(), ug::bridge::GetClassesCompletitions(), ug::bridge::GetClassHierarchy(), ug::vrl::invocation::initClasses(), ug::LoadPlugins(), and ug::bridge::LuaList_classes().
size_t ug::bridge::Registry::num_functions | ( | ) | const |
number of functions registered at the Registry (overloads are not counted)
References m_vFunction.
Referenced by check_consistency(), ug::bridge::ClassUsageExact(), ug::bridge::lua::CreateBindings_LUA(), ug::bridge::FindFunction(), ug::vrl::functions2NativeGroups(), and ug::LoadPlugins().
size_t ug::bridge::Registry::num_overloads | ( | size_t | ind | ) | const |
returns the number of overloads of a function
References m_vFunction.
bool ug::bridge::Registry::registry_changed | ( | ) |
call this method if to forward changes of the registry to its listeners
References m_callbacksRegChanged, and UG_THROW.
Referenced by ug::LoadPlugins(), ug::bridge::PostRegisterTest(), and ug::bridge::RegisterStandardBridges().
void ug::bridge::Registry::set_force_construct_via_smart_pointer | ( | bool | bForceConstructionWithSmartPtr | ) |
requires every constructable class to be constructed via Smart-Pointer
References m_bForceConstructionWithSmartPtr.
Referenced by check_consistency().
|
private |
flag if classes must be constructed via smart-pointer
Referenced by check_consistency(), and set_force_construct_via_smart_pointer().
|
private |
Callback, that are called when registry changed is invoked.
Referenced by add_callback(), and registry_changed().
|
private |
registered classes
Referenced by add_class_(), get_class(), get_class(), get_class(), get_class_(), num_classes(), and ~Registry().
|
private |
registered class groups
Referenced by get_class_group(), get_class_group(), get_class_group(), get_class_group(), groupname_registered(), num_class_groups(), and ~Registry().
|
private |
registered functions
Referenced by add_and_get_function(), functionname_registered(), get_exported_function_group(), get_function(), get_function(), get_function_group(), get_overload(), num_functions(), num_overloads(), and ~Registry().