Files
whetstone_RSA/include/whetstone_rsa/probe_registry.h
2026-03-31 22:50:40 -06:00

23 lines
607 B
C++

#pragma once
#include "whetstone_rsa/probe.h"
#include <unordered_map>
#include <vector>
namespace whetstone::rsa {
class ProbeRegistry {
public:
void register_probe(ProbePtr probe);
[[nodiscard]] ProbePtr find(const std::string& probe_id) const;
[[nodiscard]] std::vector<ProbePtr> applicable_probes(const GateDefinition& gate_definition,
const GateEvidence& evidence) const;
[[nodiscard]] std::vector<std::string> ids() const;
private:
std::unordered_map<std::string, ProbePtr> probes_;
};
} // namespace whetstone::rsa