Lines Matching refs:GraphT
294 template <typename GraphT> class ImmutableGraphBuilder {
295 using node_value_type = typename GraphT::node_value_type;
296 using edge_value_type = typename GraphT::edge_value_type;
299 GraphT>::value,
302 using size_type = typename GraphT::size_type;
303 using NodeSet = typename GraphT::NodeSet;
304 using Node = typename GraphT::Node;
305 using EdgeSet = typename GraphT::EdgeSet;
306 using Edge = typename GraphT::Edge;
327 template <typename... ArgT> std::unique_ptr<GraphT> get(ArgT &&... Args) { in get()
348 return std::make_unique<GraphT>(std::move(VertexArray), in get()
354 static std::unique_ptr<GraphT> trim(const GraphT &G, const NodeSet &TrimNodes, in trim()
395 return std::make_unique<GraphT>(std::move(NewVertexArray), in trim()
406 using GraphT = ImmutableGraph<NodeValueT, EdgeValueT>;
407 using NodeRef = typename GraphT::Node const *;
408 using EdgeRef = typename GraphT::Edge const &;
412 mapped_iterator<typename GraphT::Edge const *, decltype(&edge_dest)>;
414 static NodeRef getEntryNode(GraphT *G) { return G->nodes_begin(); }
422 static NodeRef getNode(typename GraphT::Node const &N) { return NodeRef{&N}; }
424 mapped_iterator<typename GraphT::Node const *, decltype(&getNode)>;
425 static nodes_iterator nodes_begin(GraphT *G) {
428 static nodes_iterator nodes_end(GraphT *G) {
432 using ChildEdgeIteratorType = typename GraphT::Edge const *;
440 static typename GraphT::size_type size(GraphT *G) { return G->nodes_size(); }