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 |
![]() | |
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.