#pragma once #include #include #include using Association = std::tuple; class Topology { public: explicit Topology() = default; void addBoard(const std::string& path, const std::string& boardType, const nlohmann::json& exposesItem); std::unordered_map> getAssocs(); private: using Path = std::string; using BoardType = std::string; using PortType = std::string; std::unordered_map> upstreamPorts; std::unordered_map> downstreamPorts; std::unordered_map boardTypes; };