Home | History | Annotate | Download | only in ADT

Lines Matching defs:GraphTraits

1 //===- llvm/ADT/GraphTraits.h - Graph traits template -----------*- C++ -*-===//
10 // This file defines the little GraphTraits<X> template class that should be
25 // GraphTraits - This class should be specialized by different graph types...
29 struct GraphTraits {
55 // need to include the appropriate specialization of GraphTraits<> for your
82 // Provide a partial specialization of GraphTraits so that the inverse of an
84 template <class T> struct GraphTraits<Inverse<Inverse<T>>> : GraphTraits<T> {};
88 iterator_range<typename GraphTraits<GraphType>::nodes_iterator>
90 return make_range(GraphTraits<GraphType>::nodes_begin(G),
91 GraphTraits<GraphType>::nodes_end(G));
94 iterator_range<typename GraphTraits<Inverse<GraphType>>::nodes_iterator>
96 return make_range(GraphTraits<Inverse<GraphType>>::nodes_begin(G),
97 GraphTraits<Inverse<GraphType>>::nodes_end(G));
101 iterator_range<typename GraphTraits<GraphType>::ChildIteratorType>
102 children(const typename GraphTraits<GraphType>::NodeRef &G) {
103 return make_range(GraphTraits<GraphType>::child_begin(G),
104 GraphTraits<GraphType>::child_end(G));
108 iterator_range<typename GraphTraits<Inverse<GraphType>>::ChildIteratorType>
109 inverse_children(const typename GraphTraits<GraphType>::NodeRef &G) {
110 return make_range(GraphTraits<Inverse<GraphType>>::child_begin(G),
111 GraphTraits<Inverse<GraphType>>::child_end(G));