Prefix any boolean model reference with ! to negate its output. Works with all boolean models: !toggle_2s, !valve_px_std:toggle_2s, !bool_50, etc.
14 lines
351 B
C++
14 lines
351 B
C++
#pragma once
|
|
#include <TestProject/RNG/model/IModel.h>
|
|
#include <memory>
|
|
|
|
struct NotModel : IModel {
|
|
std::unique_ptr<IModel> inner;
|
|
|
|
NotModel(std::unique_ptr<IModel> m) : inner(std::move(m)) {}
|
|
|
|
bool evaluateBool(size_t t) override { return !inner->evaluateBool(t); }
|
|
|
|
void linkPeers(ModelRegistry& reg) override { inner->linkPeers(reg); }
|
|
};
|