18 #ifndef LLVM_ADT_GRAPHTRAITS_H 19 #define LLVM_ADT_GRAPHTRAITS_H 35 template<
class GraphType>
79 using NodeRef =
typename GraphType::UnknownGraphTypeError;
95 template <
class GraphType>
99 inline Inverse(
const GraphType &
G) : Graph(G) {}
107 template <
class GraphType>
113 template <
class GraphType>
120 template <
class GraphType>
127 template <
class GraphType>
134 template <
class GraphType>
143 #endif // LLVM_ADT_GRAPHTRAITS_H iterator_range< typename GraphTraits< GraphType >::ChildIteratorType > children(const typename GraphTraits< GraphType >::NodeRef &G)
This class represents lattice values for constants.
This provides a very simple, boring adaptor for a begin and end iterator into a range type...
iterator_range< typename GraphTraits< Inverse< GraphType > >::ChildIteratorType > inverse_children(const typename GraphTraits< GraphType >::NodeRef &G)
typename SDNode *::UnknownGraphTypeError NodeRef
iterator_range< typename GraphTraits< GraphType >::ChildEdgeIteratorType > children_edges(const typename GraphTraits< GraphType >::NodeRef &G)
iterator_range< typename GraphTraits< Inverse< GraphType > >::nodes_iterator > inverse_nodes(const GraphType &G)
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
A range adaptor for a pair of iterators.
iterator_range< typename GraphTraits< GraphType >::nodes_iterator > nodes(const GraphType &G)
Inverse(const GraphType &G)