Set-relations

Unlike list-relations, objects owned or used by other objects in set-relations are not listed in sequential order, but are grouped in a non-ordered set. They are directly accessible by a key. A set-relation cannot contain two objects associated with the same key.

Server supplies two class templates to define set-relations:

  • <OwnerType,OwnedType,KeyType,KeyManager>;

  • <UserType,UsedType,KeyType,KeyManager>.

These class templates both take the following four arguments:

  • The owner or user type. This class must derive directly or transitively from IlsObject or IlsEntity. Derivation must be public.

  • The owned or used type. This class must derive directly or transitively from IlsObject for IlsOwnsSet and from IlsObject or IlsEntity for IlsUsesSet. Derivation must be public.

  • A class KeyType that specifies the key type used to store target objects.

  • A class KeyManager that specifies how to handle keys—how to compare them, for example.