Lines Matching refs:G

112     const ImmutableGraph &G;  variable
116 NodeSet(const ImmutableGraph &G, bool ContainsAll = false)
117 : G{G}, V{static_cast<unsigned>(G.nodes_size()), ContainsAll} {}
119 size_type Idx = G.getNodeIndex(N); in insert()
125 size_type Idx = G.getNodeIndex(N); in erase()
129 size_type Idx = G.getNodeIndex(N); in contains()
140 assert(&this->G == &RHS.G);
146 assert(&this->G == &RHS.G);
152 assert(&this->G == &RHS.G);
186 return Set.G.nodes_begin() + Current;
200 const ImmutableGraph &G; variable
204 EdgeSet(const ImmutableGraph &G, bool ContainsAll = false)
205 : G{G}, V{static_cast<unsigned>(G.edges_size()), ContainsAll} {}
207 size_type Idx = G.getEdgeIndex(E); in insert()
213 size_type Idx = G.getEdgeIndex(E); in erase()
217 size_type Idx = G.getEdgeIndex(E); in contains()
228 assert(&this->G == &RHS.G);
234 assert(&this->G == &RHS.G);
240 assert(&this->G == &RHS.G);
274 return Set.G.edges_begin() + Current;
354 static std::unique_ptr<GraphT> trim(const GraphT &G, const NodeSet &TrimNodes, in trim() argument
357 size_type NewVertexSize = G.nodes_size() - TrimNodes.count(); in trim()
358 size_type NewEdgeSize = G.edges_size() - TrimEdges.count(); in trim()
365 std::vector<size_type> RemappedNodeIndex(G.nodes_size()); in trim()
366 for (const Node &N : G.nodes()) { in trim()
369 RemappedNodeIndex[G.getNodeIndex(N)] = NewNodeIndex++; in trim()
375 for (const Node &N : G.nodes()) { in trim()
384 size_type DestIdx = G.getNodeIndex(*E.getDest()); in trim()
414 static NodeRef getEntryNode(GraphT *G) { return G->nodes_begin(); }
425 static nodes_iterator nodes_begin(GraphT *G) {
426 return {G->nodes_begin(), &getNode};
428 static nodes_iterator nodes_end(GraphT *G) {
429 return {G->nodes_end(), &getNode};
440 static typename GraphT::size_type size(GraphT *G) { return G->nodes_size(); }