All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
edge_property_writer.h
Go to the documentation of this file.
1 #ifndef EDGE_PROPERTY_WRITER_H_INCLUDED_
2 #define EDGE_PROPERTY_WRITER_H_INCLUDED_
3 
4 #include "segment_graph.h"
5 #include "../internal_representation/design.h"
6 #include <iostream>
7 
8 namespace risc {
9 
10 namespace sg {
11 
13 
14  EdgePropertyWriter(Graph& graph);
15 
16  template <class Edge>
17  void operator() (std::ostream &out, Edge e)
18  {
19  if(graph_[e].event_notification_edge_) { // blue
20  //out << "[ penwidth=3, color=\"#9ACEEB\", style=dotted, constraint = false]";
21  out << "[ penwidth=3, color=\"#FF0000\", style=dotted, constraint = false]";
22  }
23 
24  if(graph_[e].hierarchical_communication_) { // pink
25  out << "[ penwidth=3 , color=\"#EB9ACE\", style=dotted, constraint = false]" ;
26  }
27 
28  if(PSG_MODE) out << "[label=\"" << graph_[e].time_units_ << "\"]";
29  }
30 
31 
36 
37  friend std::ostream& operator<< (std::ostream &out,
38  const EdgePropertyWriter &epw)
39  {
40  return out;
41  }
42 };
43 
44 }; // end of namespace sg
45 
46 }; // end of namespace risc
47 
48 #endif /* EDGE_PROPERTY_WRITER_H_INCLUDED_ */
49 
50 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
EdgePropertyWriter(Graph &graph)
Definition: edge_property_writer.cpp:3
#define PSG_MODE
Definition: design.h:17
Graph & graph_
The segment graph.
Definition: edge_property_writer.h:35
Definition: edge.h:11
void operator()(std::ostream &out, Edge e)
Definition: edge_property_writer.h:17
boost::adjacency_list< boost::listS, boost::listS, boost::bidirectionalS, Segment, Edge, boost::property< boost::vertex_index_t, int > > Graph
Definition: segment_graph.h:29
Definition: edge_property_writer.h:12
friend std::ostream & operator<<(std::ostream &out, const EdgePropertyWriter &epw)
Definition: edge_property_writer.h:37