Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
AbstractMO Class Reference

#include "steam/mobject/session/abstractmo.hpp"

Description

abstract base class of all MObjects for providing common services.

Todo:
seems that we don't need this intermediate class...

Definition at line 39 of file abstractmo.hpp.

Public Member Functions

DurationgetLength ()
 
bool isEquivalentTo (const MObject &oo) const override
 default/fallback implementation of equality using literal object identity (same address).
 
- Public Member Functions inherited from MObject
string const & shortID () const
 a short readable ID as a single name-token, denoting both the kind of MObject and some sort of instance identity.
 
virtual bool isValid () const =0
 MObject self-test (usable for asserting)
 
- Public Member Functions inherited from Visitable< builder::BuilderTool >
virtual ReturnType apply (builder::BuilderTool &)=0
 to be defined by the DEFINE_PROCESSABLE_BY macro in all classes wanting to be treated by some tool
 

Protected Member Functions

void throwIfInvalid () const
 
string buildShortID (lib::Literal typeID, string suffix="") const
 
- Protected Member Functions inherited from MObject
 MObject ()
 
virtual ~MObject ()
 
- Protected Member Functions inherited from Visitable< builder::BuilderTool >
virtual ~Visitable ()
 

Private Member Functions

 DEFINE_PROCESSABLE_BY (builder::BuilderTool)
 
string initShortID () const
 

Additional Inherited Members

- Public Types inherited from Visitable< builder::BuilderTool >
using ReturnType = TOOL::ReturnType
 
- Static Public Attributes inherited from MObject
static session::MObjectFactory create
 Storage for the (single, static) MObject factory object.
 
- Protected Types inherited from MObject
typedef lib::time::Duration Duration
 
- Protected Types inherited from Visitable< builder::BuilderTool >
using ToolBase = TOOL::ToolBase
 
- Static Protected Member Functions inherited from Visitable< builder::BuilderTool >
static ReturnType dispatchOp (TAR &target, builder::BuilderTool &tool)
 
- Protected Attributes inherited from MObject
Duration length_
 
string shortID_
 

Member Function Documentation

◆ DEFINE_PROCESSABLE_BY()

DEFINE_PROCESSABLE_BY ( builder::BuilderTool  )
private

◆ initShortID()

string initShortID ( ) const
inlineprivatevirtual

Implements MObject.

Reimplemented in Auto< VAL >, Binding, BusMO, Clip, Effect, Fork, GeneratorMO, Label, Meta, Root, and DummyMO.

Definition at line 49 of file abstractmo.hpp.

References AbstractMO::buildShortID().

+ Here is the call graph for this function:

◆ getLength()

Duration & getLength ( )
inlinevirtual

Implements MObject.

Definition at line 57 of file abstractmo.hpp.

References MObject::length_.

◆ isEquivalentTo()

bool isEquivalentTo ( const MObject oo) const
overridevirtual

default/fallback implementation of equality using literal object identity (same address).

Required to enable handling by lumiera::P

Deprecated:
2025, see comment in MObject ////////////////////////////////////////////////////////////TICKET #501 : clarify Placement and MObject identity

Implements MObject.

Definition at line 37 of file abstractmo.cpp.

◆ throwIfInvalid()

void throwIfInvalid ( ) const
inlineprotected

Definition at line 66 of file abstractmo.hpp.

References MObject::isValid().

Referenced by Binding::Binding(), BusMO::BusMO(), Clip::Clip(), Fork::Fork(), Label::Label(), and Root::Root().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildShortID()

string buildShortID ( lib::Literal  typeID,
string  suffix = "" 
) const
protected

Definition at line 45 of file abstractmo.cpp.

Referenced by AbstractMO::initShortID(), Auto< VAL >::initShortID(), Binding::initShortID(), BusMO::initShortID(), Clip::initShortID(), Effect::initShortID(), Fork::initShortID(), GeneratorMO::initShortID(), Label::initShortID(), Meta::initShortID(), Root::initShortID(), and DummyMO::initShortID().

+ Here is the caller graph for this function:
+ Inheritance diagram for AbstractMO:
+ Collaboration diagram for AbstractMO:

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