IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
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 >:

Public Member Functions

void Register ()
 Registers the current object. Subsequent calls (after the first one) have no effect. More...
 
bool IsRegistered ()
 Returns true if the current object is registered, false if not. More...
 
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. More...
 

Properties

ObjectRegister< T > ObjectRegister [get]
 Gets the object register where the current object can be registered. More...
 
- Properties inherited from IG.Lib.IIdentifiable
int Id [get]
 Returns unique ID (in the scope of a given type) of the current object. More...
 

Detailed Description

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

void IG.Lib.IRegisterable< T >.Register ( )

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

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

bool IG.Lib.IRegisterable< T >.IsRegistered ( )

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

Returns

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

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.RegisterableExamples.ExampleIRegistrable, IG.Lib.ExpressionEvaluatorJs, IG.Lib.CommandLineInterpreter, and IG.Lib.CommandLine.

Property Documentation

ObjectRegister<T> IG.Lib.IRegisterable< T >.ObjectRegister
get

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


The documentation for this interface was generated from the following file: