Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/mobject/placement-ref.hpp"
Reference tag denoting a placement attached to the session.
Implemented as a smart-handle, transparently accessing the PlacementIndex to resolve the embedded hash-ID into a language reference to the referred placement.
Definition at line 57 of file output-designation.hpp.
Public Member Functions | |
template<class Y > | |
PlacementRef (Y const &refID) | |
Creating a PlacementRef from a compatible reference source. More... | |
PlacementRef () | |
Default is an NIL Placement ref. More... | |
PlacementRef (PlacementRef const &r) | |
template<class X > | |
PlacementRef (PlacementRef< X > const &r) | |
void | clear () |
LumieraUid | getLUID () const |
bool | isValid () const |
operator _Id const & () const | |
operator bool () const | |
operator string () const | |
template<class O > | |
bool | operator!= (PlacementRef< O > const &o) const |
PlacementMX & | operator* () const |
dereferencing fetches referred Placement from Index | |
PlacementMX & | operator-> () const |
provide access to pointee API by smart-ptr chaining | |
PlacementRef & | operator= (PlacementRef const &r) |
template<class X > | |
PlacementRef & | operator= (PlacementRef< X > const &r) |
template<class Y > | |
PlacementRef & | operator= (Y const &refID) |
template<class O > | |
bool | operator== (PlacementRef< O > const &o) const |
ExplicitPlacement | resolve () const |
size_t | use_count () const |
Private Types | |
typedef Placement< MObject >::ID | _ID |
typedef Placement< MObject >::Id< MX > | _Id |
typedef Placement< MX > | PlacementMX |
Private Member Functions | |
bool | checkValidity () const |
Static Private Member Functions | |
static PlacementMX & | access (_Id const &placementID) |
static _Id const & | bottomID () |
static _Id const & | recast (_ID const &someID) |
static _Id const & | recast (const LumieraUid luid) |
static void | validate (_Id const &rId) |
Private Attributes | |
_Id | id_ |
|
inlineexplicit |
Creating a PlacementRef from a compatible reference source.
Any source allowing to infer a compatible mobject::Placement is accepted. Here, compatibility is decided based on the run time type of the pointee, in comparison to the template parameter Y. In any case, for this ctor to succeed, the provided ref or ID needs to be resolvable to a placement by the implicit PlacementIndex facility used by all PlacementRef instances (typically the Session).
refID | reference resolvable to a placement via Index, especially
|
error::Invalid | on incompatible run time type of the resolved ID |
Definition at line 125 of file placement-ref.hpp.
|
inline |
Default is an NIL Placement ref.
It throws on any access.
Definition at line 132 of file placement-ref.hpp.
|
inline |
r | copy ctor |
Definition at line 138 of file placement-ref.hpp.
|
inline |
r | extended copy ctor, when type X is assignable to MX |
Definition at line 145 of file placement-ref.hpp.