#ifndef NETWORK_SET_H_3036B8E3 #define NETWORK_SET_H_3036B8E3 #include #include #include #include #include struct NetworkNode { int entry; int exit; bool two_way; bool operator<(const NetworkNode& rhs) const; }; class NetworkSet { public: void Clear(); void AddLink(int id1, int id2, bool two_way); void AddLinkToNetwork(int network_id, int id1, int id2, bool two_way); bool IsItemInNetwork(int id) const; const std::set& GetNetworkGraph(int id) const; private: std::map> network_by_item_; }; #endif /* end of include guard: NETWORK_SET_H_3036B8E3 */