FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Classes | Public Member Functions | Public Attributes | List of all members
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

Member Data Documentation

◆ Owners

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