10 #ifndef META_DIRECTED_GRAPH_H_
11 #define META_DIRECTED_GRAPH_H_
15 #include <unordered_set>
30 template <
class Node = default_node,
class Edge = default_edge>
34 using adjacency_list =
typename graph<Node, Edge>::adjacency_list;
35 using vec_t = std::vector<std::pair<Node, adjacency_list>>;
45 const adjacency_list&
adjacent(node_id
id)
const;
51 const std::vector<node_id>&
incoming(node_id
id)
const;
64 virtual void add_edge(Edge
edge, node_id source, node_id dest)
override;
75 const_iterator
begin()
const {
return {
nodes_.cbegin()}; }
82 const_iterator
end()
const {
return {
nodes_.cend()}; }
122 using std::runtime_error::runtime_error;
Definition: edge_iterator.h:22