|
FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Base class for objects that are owned by others and owning others. More...
#include <Ownable.hpp>
Public Types | |
| template<class ItemType > | |
| using | Item = MemCore::InterfaceData< ItemType > |
| An optional convenience class that allows to easily add arbitrary types to Intercubes . | |
Public Member Functions | |
| virtual bool | processOwnership (MemCore::Intercube &Output, const MemCore::Intercube &Input) const =0 |
| Hierarchically broadcast some activity to all Owners. | |
| bool | processOwnership (MemCore::Intercube &OutputAndInput) const |
| Process ownership where the input information is shared with the output information in the same Intercube. | |
| virtual void | x_updateOwnershipAge (const MemCore::Ageable &)=0 |
| Update all owners with the given age (Ageable::update() ). | |
Base class for objects that are owned by others and owning others.
|
pure virtual |
Hierarchically broadcast some activity to all Owners.
The concrete details of the activities are provided in the respective Intercubes via interfaces added to them. Communication is done via the Input intercube holding some interfaces, and results will be provided in the Output intercube. They may be identical if the caller decides so and this does not cause issues, which depends on the respective operation.
Implemented in Fiber::Ownable< Domain, ContainerBase >, Fiber::Ownable< BaseSpace >, Fiber::Ownable< BaseSpaceDependency >, Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase >, Fiber::Ownable< Field >, Fiber::Ownable< Grid >, and Fiber::Ownable< Slice >.
|
pure virtual |
Update all owners with the given age (Ageable::update() ).
Final ownership classes must implement this function and do something with the provided age. Intermediate ownership classes (those that own others) do no need to implement this function, but may do so to intercept the ownership activity.
Implemented in Fiber::Ownable< Domain, ContainerBase >, Fiber::Ownable< BaseSpace >, Fiber::Ownable< BaseSpaceDependency >, Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase >, Fiber::Ownable< Field >, Fiber::Ownable< Grid >, and Fiber::Ownable< Slice >.