20 #ifndef HEDGEHOG_ABSTRACT_PRINTER_H 21 #define HEDGEHOG_ABSTRACT_PRINTER_H 23 #include "../../tools/logger.h" 28 #ifndef DOXYGEN_SHOULD_SKIP_THIS 34 #endif //DOXYGEN_SHOULD_SKIP_THIS 40 std::set<core::CoreNode const *> uniqueNodes_ = {};
69 std::string_view
const &edgeType,
70 size_t const &queueSize,
71 size_t const &maxQueueSize,
72 bool isMemoryManaged) = 0;
76 virtual void printClusterHeader(
core::CoreNode const *clusterNode) = 0;
79 virtual void printClusterFooter() = 0;
83 virtual void printClusterEdge(
core::CoreNode const *clusterNode) = 0;
91 virtual void printExecutionPipelineFooter() = 0;
101 std::string
const &idSwitch,
102 std::string_view
const &edgeType,
103 size_t const &queueSize,
104 size_t const &maxQueueSize,
105 bool isMemoryManaged) = 0;
111 return uniqueNodes_.insert(node).second;
115 #endif //HEDGEHOG_ABSTRACT_PRINTER_H
bool hasNotBeenVisited(core::CoreNode const *node)
Accessor to check if a node has been visited by the printer.
Main Hedgehog core abstraction.