Lumiera  0.pre.03
»edit your freedom«
OutputMapping< DEF >::Resolver Class Reference

#include "steam/mobject/output-mapping.hpp"

Description

template<class DEF>
class steam::mobject::OutputMapping< DEF >::Resolver

transient resolution wrapper to be exposed by map-style access. A Resolver instance represents an output mapping result, yet to be fully resolved. It is created on the stack by the OutputMapping container and internally wired back to the container and the actually stored value (pipe-ID-hash) in the table. Actually retrieving the result value by the client code triggers invocation of the specific resolution functor, embedded in the definition context DEF, which was given when instantiating the OutputMapping template.

Note
depends on the template parameter of the enclosing OutputMapping type!

Definition at line 152 of file output-mapping.hpp.

Public Member Functions

void disconnect ()
 
bool isValid () const
 < is this a valid connected mapping?
 
 operator bool () const
 
 operator Target ()
 actually retrieve the target object of the mapping. More...
 
void operator= (PId newId2map)
 explicitly define a new target ID for this individual mapping More...
 
void operator= (PPipe newPipe2map)
 

Friends

bool operator== (Resolver const &a, Resolver const &b)
 
bool operator== (Resolver const &rr, Target const &tval)
 
class OutputMapping
 

Private Member Functions

 Resolver (OutputMapping &container, HashVal &resultVal)
 
Resolveroperator= (Resolver const &)
 
Target resolve () const
 

Private Attributes

HashVal & pID_
 
OutputMappingthisMapping_
 

Member Function Documentation

◆ operator=()

void operator= ( PId  newId2map)
inline

explicitly define a new target ID for this individual mapping

Note
the actually returned result depends on what the configured DEF::output functor will yield when invoked on this ID

Definition at line 184 of file output-mapping.hpp.

◆ operator Target()

operator Target ( )
inline

actually retrieve the target object of the mapping.

This operation is invoked when client code accesses the result of an OutputMapping query.

Returns
result of invoking the configured DEF::output functor
Exceptions
error::Logicwhen resolving an unconnected mapping

Definition at line 208 of file output-mapping.hpp.

+ Inheritance diagram for OutputMapping< DEF >::Resolver:
+ Collaboration diagram for OutputMapping< DEF >::Resolver:

The documentation for this class was generated from the following file: