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
00021 out << "[ penwidth=3, color=\"#FF0000\", style=dotted, constraint = false]";
00022 }
00023
00024 if(graph_[e].hierarchical_communication_) {
00025 out << "[ penwidth=3 , color=\"#EB9ACE\", style=dotted, constraint = false]" ;
00026 }
00027 }
00028
00029 Graph& graph_;
00030
00031 friend std::ostream& operator<< (std::ostream &out,
00032 const EdgePropertyWriter &epw)
00033 {
00034 return out;
00035 }
00036 };
00037
00038 };
00039
00040 };
00041
00042 #endif
00043
00044