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

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Public Member Functions | Properties | List of all members
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 >:
[legend]
Collaboration diagram for IG.Lib.IRegisterable< T >:
[legend]

## 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:

- igbase/utilities/UtilIdRegistration.cs