00001 #ifndef EDGE_PROPERTY_WRITER_H_INCLUDED_
00002 #define EDGE_PROPERTY_WRITER_H_INCLUDED_
00003
00004 #include "segment_graph.h"
00005
00006 #include <iostream>
00007
00008 namespace risc {
00009
00010 namespace sg {
00011
00012 struct EdgePropertyWriter {
00013
00014 EdgePropertyWriter(Graph& graph);
00015
00016 template <class Edge>
00017 void operator() (std::ostream &out, Edge e)
00018 {
00019 if(graph_[e].event_notification_edge_) {
00020 out << "[ penwidth=3, color=\"#9ACEEB\", style=dotted, constraint = false]";
00021 }
00022
00023 if(graph_[e].hierarchical_communication_) {
00024 out << "[ penwidth=3 , color=\"#EB9ACE\", style=dotted, constraint = false]" ;
00025 }
00026 }
00027
00028 Graph& graph_;
00029
00030 friend std::ostream& operator<< (std::ostream &out,
00031 const EdgePropertyWriter &epw)
00032 {
00033 return out;
00034 }
00035 };
00036
00037 };
00038
00039 };
00040
00041 #endif
00042
00043