49 #ifndef STEAM_FIXTURE_MODEL_PORT_REGISTRY_H 50 #define STEAM_FIXTURE_MODEL_PORT_REGISTRY_H 105 definePort (PID pipe, StID element_exposing_this_port);
134 typedef std::map<PID, ModelPortDescriptor> MPTable;
137 MPTable transaction_;
155 , holder_(element_exposing_this_port)
174 const PID id()
const {
return id_; }
175 const StID holder()
const {
return holder_; }
Organising the output data calculation possibilities.
ModelPortDescriptor const & definePort(PID pipe, StID element_exposing_this_port)
create and register a new model port entry, within the pending transaction
A "processing pipe" represented as Asset.
void clear()
schedule removal of all registry contents.
Optional or switchable link to an existing object.
bool contains(PID) const
does the transaction currently being built already contain a model port registration for the given ID...
void commit()
activate pending model port changes.
a checked, switchable reference.
static lib::OptionalRef< ModelPortRegistry > theGlobalRegistry
storage for the link to the global Registry instance currently in charge
Any copy and copy construction prohibited.
static ModelPortDescriptor const & accessDescriptor(PID)
access the globally valid model port for the given pipe.
Steam-Layer implementation namespace root.
structural asset corresponding to the part of the model forming a processing pipe for generating medi...
ModelPortDescriptor records are used as actual storage within the model port registration table; they...
static ModelPortRegistry * setActiveInstance(ModelPortRegistry &newRegistry)
switch the implicit link to the global ModelPort registry to point to the given implementation instan...
static void shutdown()
globally deactivate access to model ports
Management facility for tracking model ports.
LUMIERA_ERROR_DECLARE(DUPLICATE_MODEL_PORT)
Attempt to define a new model port with an pipe-ID already denoting an existing port.
bool isRegistered(PID) const
static ID INVALID
marker constant denoting a NIL asset
Lumiera error handling (C++ interface).
static ModelPortRegistry & globalInstance()
access the globally valid registry instance.
key abstraction: structural asset Created automatically as a sideeffect of building the structure of ...
void rollback()
discard pending changes.
Asset representation of structural elements within the model.
thin wrapper around a size_t hash ID used as primary key for all Asset objects.