rename "MO" --> "MX" to avoid confusion with MObject
This commit is contained in:
parent
017c668d7a
commit
a10a237b90
1 changed files with 11 additions and 11 deletions
|
|
@ -68,12 +68,12 @@ namespace mobject {
|
||||||
/**
|
/**
|
||||||
* TODO type comment
|
* TODO type comment
|
||||||
*/
|
*/
|
||||||
template<class MO =MObject>
|
template<class MX =MObject>
|
||||||
class PlacementRef
|
class PlacementRef
|
||||||
{
|
{
|
||||||
typedef Placement<MO> PlacementMO;
|
typedef Placement<MX> PlacementMX;
|
||||||
typedef Placement<MObject>::ID _ID; ////TODO: could we define const& here??
|
typedef Placement<MObject>::ID _ID; ////TODO: could we define const& here??
|
||||||
typedef Placement<MObject>::Id<MO> _Id;
|
typedef Placement<MObject>::Id<MX> _Id;
|
||||||
|
|
||||||
_Id id_;
|
_Id id_;
|
||||||
|
|
||||||
|
|
@ -115,7 +115,7 @@ namespace mobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class X>
|
template<class X>
|
||||||
PlacementRef (PlacementRef<X> const& r) ///< extended copy ctor, when type X is assignable to MO
|
PlacementRef (PlacementRef<X> const& r) ///< extended copy ctor, when type X is assignable to MX
|
||||||
: id_(recast(r))
|
: id_(recast(r))
|
||||||
{
|
{
|
||||||
validate(id_);
|
validate(id_);
|
||||||
|
|
@ -151,9 +151,9 @@ namespace mobject {
|
||||||
|
|
||||||
/* == forwarding smart-ptr operations == */
|
/* == forwarding smart-ptr operations == */
|
||||||
|
|
||||||
PlacementMO& operator*() const { return access(id_); } ///< dereferencing fetches referred Placement from Index
|
PlacementMX& operator*() const { return access(id_); } ///< dereferencing fetches referred Placement from Index
|
||||||
|
|
||||||
PlacementMO& operator->() const { return access(id_); } ///< provide access to pointee API by smart-ptr chaining
|
PlacementMX& operator->() const { return access(id_); } ///< provide access to pointee API by smart-ptr chaining
|
||||||
|
|
||||||
operator string() const { return access(id_).operator string(); }
|
operator string() const { return access(id_).operator string(); }
|
||||||
size_t use_count() const { return access(id_).use_count(); }
|
size_t use_count() const { return access(id_).use_count(); }
|
||||||
|
|
@ -210,8 +210,8 @@ namespace mobject {
|
||||||
static void
|
static void
|
||||||
validate (_Id const& rId)
|
validate (_Id const& rId)
|
||||||
{
|
{
|
||||||
PlacementMO& pRef (access (rId));
|
PlacementMX& pRef (access (rId));
|
||||||
if (!(pRef.template isCompatible<MO>()))
|
if (!(pRef.template isCompatible<MX>()))
|
||||||
throw lumiera::error::Invalid("actual type of the resolved placement is incompatible",LUMIERA_ERROR_INVALID_PLACEMENTREF);
|
throw lumiera::error::Invalid("actual type of the resolved placement is incompatible",LUMIERA_ERROR_INVALID_PLACEMENTREF);
|
||||||
|
|
||||||
////////////////////////TODO: 1. better message, including type?
|
////////////////////////TODO: 1. better message, including type?
|
||||||
|
|
@ -231,13 +231,13 @@ namespace mobject {
|
||||||
return reinterpret_cast<_Id const&> (*luid);
|
return reinterpret_cast<_Id const&> (*luid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PlacementMO&
|
static PlacementMX&
|
||||||
access (_Id const& placementID)
|
access (_Id const& placementID)
|
||||||
{
|
{
|
||||||
Placement<MObject> & pla (session::SessionServiceFetch::resolveID (placementID)); // may throw
|
Placement<MObject> & pla (session::SessionServiceFetch::resolveID (placementID)); // may throw
|
||||||
REQUIRE (pla.isValid());
|
REQUIRE (pla.isValid());
|
||||||
ASSERT (pla.isCompatible<MO>());
|
ASSERT (pla.isCompatible<MX>());
|
||||||
return static_cast<PlacementMO&> (pla);
|
return static_cast<PlacementMX&> (pla);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue