30#define stub_fatal(m) { std::cerr<<"FATAL: "<<(m)<<" for use of "<<__FUNCTION__<<"\n"; exit(EXIT_FAILURE); }
33#define STUB { stub_fatal(STUB_API " required"); }
37#define STUB_NOP { std::cerr<<"SKIP: "<<STUB_API<<" "<<__FUNCTION__<<" (not implemented).\n"; }
41#define STUB_RETVAL(x) { stub_fatal(STUB_API " required"); return x; }
45#define STUB_RETVAL_NOP(x) { std::cerr<<"SKIP: "<<STUB_API<<" "<<__FUNCTION__<<" (not implemented).\n"; return x; }
51#define STUB_RETREF(x) { stub_fatal(STUB_API " required"); return *(x *)nullptr; }
54#define STUB_RETSTATREF(x) STUB_RETREF(x)