4#include <collections.h>
11 collections_map<std::string, ISpecRunner*> _runners;
14 void add(
const char* name,
ISpecRunner* runner)
override { _runners[name] = runner; }
16 bool has(
const char* name)
const override {
17 auto found = _runners.find(name);
18 return found != _runners.end();
22 auto found = _runners.find(name);
23 if (found != _runners.end())
return found->second;
28 for (
const auto& [name, runner] : _runners) fn->invoke(name.c_str(), runner);
ISpecRunner * get(const char *name) const override
void foreach_runner(ForEachRunnerFn *fn) const override
void add(const char *name, ISpecRunner *runner) override
bool has(const char *name) const override
IFunctionPointer< void(const char *, ISpecRunner *)> ForEachRunnerFn