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 {
58 // need to include the appropriate specialization of GraphTraits<> for your
87 // Provide a partial specialization of GraphTraits so that the inverse of an
89 template <class T> struct GraphTraits<Inverse<Inverse<T>>> : GraphTraits<T> {};
93 iterator_range<typename GraphTraits<GraphType>::nodes_iterator>
95 return make_range(GraphTraits<GraphType>::nodes_begin(G),
96 GraphTraits<GraphType>::nodes_end(G));
99 iterator_range<typename GraphTraits<Inverse<GraphType>>::nodes_iterator>
101 return make_range(GraphTraits<Inverse<GraphType>>::nodes_begin(G),
102 GraphTraits<Inverse<GraphType>>::nodes_end(G));
106 iterator_range<typename GraphTraits<GraphType>::ChildIteratorType>
107 children(const typename GraphTraits<GraphType>::NodeRef &G) {
108 return make_range(GraphTraits<GraphType>::child_begin(G),
109 GraphTraits<GraphType>::child_end(G));
113 iterator_range<typename GraphTraits<Inverse<GraphType>>::ChildIteratorType>
114 inverse_children(const typename GraphTraits<GraphType>::NodeRef &G) {
115 return make_range(GraphTraits<Inverse<GraphType>>::child_begin(G),
116 GraphTraits<Inverse<GraphType>>::child_end(G));