IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Lib::IRegisterable< T > Interface Template Reference

Objects of this type have a unique ID (unique for all objects of a given type) and can be registered in the register of existent objects of the specified type. Implementation notes: Use an object of RegisterableGenerator .ProxyRegisterable as proxy object to implement functionality. Registerable.Example contains an example of how to do that, or can even be inherited to provide all functionality automatically (but this may not be feasible because multiple inheritance is not supported, and our class already inherits form another one). More...

Inheritance diagram for IG::Lib::IRegisterable< T >:
Collaboration diagram for IG::Lib::IRegisterable< T >:

List of all members.

Public Member Functions

void Register ()
 Registers the current object. Subsequent calls (after the first one) have no effect.
bool IsRegistered ()
 Returns true if the current object is registered, false if not.
void Unregister ()
 Unregisters the current object if it is currently registered. Can be performed several times, in this case only the first call may have effect.

Properties

ObjectRegister< T > ObjectRegister [get]
 Gets the object register where the current object can be registered.

Detailed Description

template<T>
interface IG::Lib::IRegisterable< T >

Objects of this type have a unique ID (unique for all objects of a given type) and can be registered in the register of existent objects of the specified type. Implementation notes: Use an object of RegisterableGenerator .ProxyRegisterable as proxy object to implement functionality. Registerable.Example contains an example of how to do that, or can even be inherited to provide all functionality automatically (but this may not be feasible because multiple inheritance is not supported, and our class already inherits form another one).

Type Constraints
T :class 
T :IIdentifiable 

Member Function Documentation

template<T >
void IG::Lib::IRegisterable< T >::Register ( )

Registers the current object. Subsequent calls (after the first one) have no effect.

Implemented in IG::Lib::ExpressionEvaluatorJs, IG::Lib::CommandLine, IG::Lib::CommandLineInterpreter, and IG::Lib::RegisterableExamples::ExampleIRegistrable.

template<T >
bool IG::Lib::IRegisterable< T >::IsRegistered ( )

Returns true if the current object is registered, false if not.

Returns:

Implemented in IG::Lib::ExpressionEvaluatorJs, IG::Lib::CommandLine, IG::Lib::CommandLineInterpreter, and IG::Lib::RegisterableExamples::ExampleIRegistrable.

template<T >
void IG::Lib::IRegisterable< T >::Unregister ( )

Unregisters the current object if it is currently registered. Can be performed several times, in this case only the first call may have effect.

Implemented in IG::Lib::ExpressionEvaluatorJs, IG::Lib::CommandLine, IG::Lib::CommandLineInterpreter, and IG::Lib::RegisterableExamples::ExampleIRegistrable.


Property Documentation

template<T >
ObjectRegister<T> IG::Lib::IRegisterable< T >::ObjectRegister [get]

Gets the object register where the current object can be registered.

Implemented in IG::Lib::ExpressionEvaluatorJs, IG::Lib::CommandLine, IG::Lib::CommandLineInterpreter, and IG::Lib::RegisterableExamples::ExampleIRegistrable.


The documentation for this interface was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events