eis/TestProject/RNG/model/NotModel.h
Huamonarch 1e781a7c03 feat: add ! negation operator for boolean models
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.
2026-05-13 16:56:30 +08:00

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); }
};