Lines Matching refs:T
29 template <class T>
32 allocator::set<Node<T>*> references_in;
33 allocator::set<Node<T>*> references_out;
37 T* ptr;
39 Node(T* ptr, Allocator<Node> allocator) in Node()
42 void Edge(Node<T>* ref) { in Edge()
54 DISALLOW_COPY_AND_ASSIGN(Node<T>);
57 template <class T>
58 using Graph = allocator::vector<Node<T>*>;
60 template <class T>
61 using SCC = allocator::vector<Node<T>*>;
63 template <class T>
64 using SCCList = allocator::vector<SCC<T>>;
66 template <class T>
72 void Execute(Graph<T>& graph, SCCList<T>& out);
76 void Tarjan(Node<T>* vertex, Graph<T>& graph);
79 allocator::vector<Node<T>*> stack_;
80 SCCList<T> components_;
83 template <class T>
84 void TarjanAlgorithm<T>::Execute(Graph<T>& graph, SCCList<T>& out) { in Execute()
101 template <class T>
102 void TarjanAlgorithm<T>::Tarjan(Node<T>* vertex, Graph<T>& graph) { in Tarjan()
109 Node<T>* vertex_next = it; in Tarjan()
118 SCC<T> component{components_.get_allocator()}; in Tarjan()
119 Node<T>* other_vertex; in Tarjan()
130 template <class T>
131 void Tarjan(Graph<T>& graph, SCCList<T>& out) { in Tarjan()
132 TarjanAlgorithm<T> tarjan{graph.get_allocator()}; in Tarjan()