40 #ifndef MOBJECT_TEST_DUMMY_MOBJECT_H 41 #define MOBJECT_TEST_DUMMY_MOBJECT_H 66 using builder::BuilderTool;
78 DummyMO() : id_(rand() % 1000) {}
83 virtual bool isValid()
const {
return true;}
84 virtual string initShortID()
const {
return buildShortID(
"DummyMO"); }
85 virtual operator string()
const {
return display(
"DummyMO"); }
92 static _Fmt fmt{
"%s(ID=%03d)"};
93 return fmt % name % this->id_;
103 virtual operator string()
const {
return display(
"TestSubMO1"); }
115 virtual operator string()
const {
return display(
"TestSubMO2"); }
120 virtual operator string()
const {
return display(
"TestSubMO21"); }
121 virtual void specialAPI()
const { cout <<
"specialAPI()\n";}
126 template<
class DMO=DummyMO,
class B=DummyMO>
143 template<
class DMO,
class B>
155 return static_cast<DMO*
> A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Subclass-1 is not defined "processible", thus will always be handled as DummyMO...
Test MObject subclass, which, contrary to any real MObject, can be created directly without involving...
Core abstraction: placement of a media object into session context.
#define INSTANCEOF(CLASS, EXPR)
shortcut for subclass test, intended for assertions only.
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
MObject is the interface class for all "Media Objects".
Token or Atom with distinct identity.
Marker types to indicate a literal string and a Symbol.
Simple test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
virtual bool isValid() const
MObject self-test (usable for asserting)
abstract base class of all MObjects for providing common services.
#define DEFINE_PROCESSABLE_BY(TOOL)
mark a Visitable subclass as actually treat-able by some "visiting tool" base interface.
Subclass-2 is defined "processible", but we omit the necessary "applicable" definition in TestTool...