Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
Fiber::Ownable< Domain, ContainerBase > Class Template Reference

Domain-specific class of objects that can be owned. More...

#include <Ownable.hpp>

Inheritance diagram for Fiber::Ownable< Domain, ContainerBase >:
Fiber::OwnerBase

Classes

class  Container
 Base class for objects that may own domain-specific objects. More...

Public Member Functions

void x_updateOwnershipAge (const MemCore::Ageable &theNewAge) override
 Forward some age to all Owners.
void insertOwner (const Container &theOwner)
 Add some owner.
bool insertOwner (const MemCore::WeakPtr< Container > &theOwner)
 Add some owner.
void addOwner (const Container &theOwner, const MemCore::Ageable &theNewAge)
 Add some owner and broadcast a new age to all Ownerrs.
void addOwner (const MemCore::WeakPtr< Container > &theOwner, const MemCore::Ageable &theNewAge)
 Add some owner and broadcast a new age to all Ownerrs.
 Ownable ()
 Default constructor, empty Ownership list.
 Ownable (const Ownable &)
 Copy constructor, does NOT copy any ownership information, the new Ownable will be unowned.
Ownableoperator= (const Ownable &)
 Assignment, does NOT copy any ownership information, the assigned Ownable will retain all its ownership information.
 Ownable (const MemCore::WeakPtr< Container > &theOwner, const MemCore::Ageable &theNewAge)
 Construct an Ownable with an initial owner.
 Ownable (const Container &theOwner, const MemCore::Ageable &theNewAge)
 Construct an Ownable with an initial owner.
MemCore::WeakPtr< ContainergetPrimaryOwner () const
 Get the first valid owner.
size_t getNumberOfValidOwners () const
 Get the first valid owner.
bool processOwnership (MemCore::Intercube &Output, const MemCore::Intercube &Input) const override
 Process some ownership action.
Public Member Functions inherited from Fiber::OwnerBase
bool processOwnership (MemCore::Intercube &OutputAndInput) const
 Process ownership where the input information is shared with the output information in the same Intercube.

Public Attributes

std::unordered_set< MemCore::WeakPtr< Container > > Owners
 The (internal) list of owners.

Additional Inherited Members

Public Types inherited from Fiber::OwnerBase
template<class ItemType>
using Item = MemCore::InterfaceData<ItemType>
 An optional convenience class that allows to easily add arbitrary types to Intercubes .

Detailed Description

template<class Domain, class ContainerBase = ChildrenProperties>
class Fiber::Ownable< Domain, ContainerBase >

Domain-specific class of objects that can be owned.

Member Function Documentation

◆ processOwnership()

template<class Domain, class ContainerBase = ChildrenProperties>
bool Fiber::Ownable< Domain, ContainerBase >::processOwnership ( MemCore::Intercube & Output,
const MemCore::Intercube & Input ) const
inlineoverridevirtual

◆ x_updateOwnershipAge()

template<class Domain, class ContainerBase = ChildrenProperties>
void Fiber::Ownable< Domain, ContainerBase >::x_updateOwnershipAge ( const MemCore::Ageable & theNewAge)
inlineoverridevirtual

Forward some age to all Owners.

Implements Fiber::OwnerBase.

References Owners.

Referenced by addOwner(), and addOwner().

Member Data Documentation

◆ Owners

template<class Domain, class ContainerBase = ChildrenProperties>
std::unordered_set<MemCore::WeakPtr<Container> > Fiber::Ownable< Domain, ContainerBase >::Owners

The (internal) list of owners.

Should not be used in application code.

Referenced by getNumberOfValidOwners(), getPrimaryOwner(), insertOwner(), processOwnership(), and x_updateOwnershipAge().