|
OpenSDN source code
|
#include <policy_graph.h>


Classes | |
| class | open_vertex_reverse_iterator |
Public Types | |
| typedef PolicyGraphBase::edge_descriptor | Edge |
| typedef PolicyGraphBase::vertex_descriptor | Vertex |
| typedef boost::intrusive::member_hook< PolicyGraphVertex, boost::intrusive::list_member_hook<>, &PolicyGraphVertex::open_vertex_ > | OpenVertexListMember |
| typedef boost::intrusive::list< PolicyGraphVertex, OpenVertexListMember > | OpenVertexList |
| typedef OpenVertexList::iterator | OpenVertexIterator |
| typedef std::pair< PolicyGraphVertex *, PolicyGraphEdge * > | OpenVertexPathPair |
Public Types inherited from PolicyGraphBase | |
| typedef boost::adjacency_list< boost::setS, boost::listS, boost::bidirectionalS, VertexProperties, EdgeProperties > | graph_t |
| typedef boost::graph_traits< graph_t >::vertex_descriptor | vertex_descriptor |
| typedef boost::graph_traits< graph_t >::edge_descriptor | edge_descriptor |
| typedef boost::graph_traits< graph_t >::adjacency_iterator | adjacency_iterator |
| typedef boost::graph_traits< graph_t >::edge_iterator | edge_iterator |
| typedef boost::graph_traits< graph_t >::out_edge_iterator | out_edge_iterator |
| typedef boost::graph_traits< graph_t >::in_edge_iterator | in_edge_iterator |
| typedef graph_t::inv_adjacency_iterator | inv_adjacency_iterator |
Public Member Functions | |
| void | AddNode (PolicyGraphVertex *entry) |
| void | RemoveNode (PolicyGraphVertex *entry) |
| Edge | Link (PolicyGraphVertex *lhs, PolicyGraphVertex *rhs) |
| void | Unlink (PolicyGraphVertex *lhs, PolicyGraphVertex *rhs) |
| void | SetEdgeProperty (PolicyGraphEdge *edge) |
| PolicyGraphEdge * | GetEdge (const PolicyGraphVertex *src, const PolicyGraphVertex *tgt) |
| const graph_t * | graph () const |
| PolicyGraphVertex * | vertex_data (Vertex vertex) const |
| PolicyGraphEdge * | edge_data (PolicyGraph::Edge edge) const |
| void | clear () |
| size_t | vertex_count () const |
| size_t | edge_count () const |
| void | WriteDot (const std::string &fname) const |
| OpenVertexIterator | open_vertex_begin () |
| OpenVertexIterator | open_vertex_end () |
| void | AddOpenVertex (PolicyGraphVertex *vertex) |
| void | RemoveOpenVertex (PolicyGraphVertex *vertex) |
| open_vertex_reverse_iterator | begin (PolicyGraphVertex *open) |
| open_vertex_reverse_iterator | end (PolicyGraphVertex *open) |
| PolicyGraphVertex * | GetRoot () const |
Private Attributes | |
| graph_t | root_ |
| OpenVertexList | open_vertex_list_ |
Definition at line 17 of file policy_graph.h.
Definition at line 19 of file policy_graph.h.
| typedef OpenVertexList::iterator PolicyGraph::OpenVertexIterator |
Definition at line 26 of file policy_graph.h.
| typedef boost::intrusive::list<PolicyGraphVertex, OpenVertexListMember> PolicyGraph::OpenVertexList |
Definition at line 25 of file policy_graph.h.
| typedef boost::intrusive::member_hook<PolicyGraphVertex, boost::intrusive::list_member_hook<>, &PolicyGraphVertex::open_vertex_> PolicyGraph::OpenVertexListMember |
Definition at line 23 of file policy_graph.h.
| typedef std::pair<PolicyGraphVertex *, PolicyGraphEdge *> PolicyGraph::OpenVertexPathPair |
Definition at line 67 of file policy_graph.h.
Definition at line 20 of file policy_graph.h.
| void PolicyGraph::AddNode | ( | PolicyGraphVertex * | entry | ) |
| void PolicyGraph::AddOpenVertex | ( | PolicyGraphVertex * | vertex | ) |
Definition at line 82 of file policy_graph.cc.
|
inline |
Definition at line 94 of file policy_graph.h.
| void PolicyGraph::clear | ( | ) |
Definition at line 62 of file policy_graph.cc.
| size_t PolicyGraph::edge_count | ( | ) | const |
Definition at line 70 of file policy_graph.cc.
|
inline |
Definition at line 47 of file policy_graph.h.
|
inline |
Definition at line 98 of file policy_graph.h.
| PolicyGraphEdge * PolicyGraph::GetEdge | ( | const PolicyGraphVertex * | src, |
| const PolicyGraphVertex * | tgt | ||
| ) |
| PolicyGraphVertex * PolicyGraph::GetRoot | ( | ) | const |
Definition at line 91 of file policy_graph.cc.
|
inline |
Definition at line 41 of file policy_graph.h.
| PolicyGraph::Edge PolicyGraph::Link | ( | PolicyGraphVertex * | lhs, |
| PolicyGraphVertex * | rhs | ||
| ) |
| PolicyGraph::OpenVertexIterator PolicyGraph::open_vertex_begin | ( | ) |
Definition at line 74 of file policy_graph.cc.
| PolicyGraph::OpenVertexIterator PolicyGraph::open_vertex_end | ( | ) |
Definition at line 78 of file policy_graph.cc.
| void PolicyGraph::RemoveNode | ( | PolicyGraphVertex * | entry | ) |
| void PolicyGraph::RemoveOpenVertex | ( | PolicyGraphVertex * | vertex | ) |
Definition at line 86 of file policy_graph.cc.
| void PolicyGraph::SetEdgeProperty | ( | PolicyGraphEdge * | edge | ) |
| void PolicyGraph::Unlink | ( | PolicyGraphVertex * | lhs, |
| PolicyGraphVertex * | rhs | ||
| ) |
| size_t PolicyGraph::vertex_count | ( | ) | const |
Definition at line 66 of file policy_graph.cc.
|
inline |
Definition at line 43 of file policy_graph.h.
| void PolicyGraph::WriteDot | ( | const std::string & | fname | ) | const |
Definition at line 15 of file policy_graph.cc.
|
private |
Definition at line 105 of file policy_graph.h.
|
private |
Definition at line 104 of file policy_graph.h.