Lines Matching refs:T
26 template<class T>
29 allocator::set<Node<T>*> references_in;
30 allocator::set<Node<T>*> references_out;
34 T* ptr;
36 Node(T* ptr, Allocator<Node> allocator) : references_in(allocator), references_out(allocator), in Node()
39 void Edge(Node<T>* ref) { in Edge()
50 DISALLOW_COPY_AND_ASSIGN(Node<T>);
53 template<class T>
54 using Graph = allocator::vector<Node<T>*>;
56 template<class T>
57 using SCC = allocator::vector<Node<T>*>;
59 template<class T>
60 using SCCList = allocator::vector<SCC<T>>;
62 template<class T>
68 void Execute(Graph<T>& graph, SCCList<T>& out);
71 void Tarjan(Node<T>* vertex, Graph<T>& graph);
74 allocator::vector<Node<T>*> stack_;
75 SCCList<T> components_;
78 template<class T>
79 void TarjanAlgorithm<T>::Execute(Graph<T>& graph, SCCList<T>& out) { in Execute()
96 template<class T>
97 void TarjanAlgorithm<T>::Tarjan(Node<T>* vertex, Graph<T>& graph) { in Tarjan()
104 Node<T>* vertex_next = it; in Tarjan()
113 SCC<T> component{components_.get_allocator()}; in Tarjan()
114 Node<T>* other_vertex; in Tarjan()
125 template<class T>
126 void Tarjan(Graph<T>& graph, SCCList<T>& out) { in Tarjan()
127 TarjanAlgorithm<T> tarjan{graph.get_allocator()}; in Tarjan()