LLVM 20.0.0git
Classes | Namespaces | Typedefs | Functions | Variables
GraphTraits.h File Reference

This file defines the little GraphTraits<X> template class that should be specialized by classes that want to be iteratable by generic graph iterators. More...

#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/iterator_range.h"

Go to the source code of this file.

Classes

struct  llvm::GraphTraits< GraphType >
 
struct  llvm::Inverse< GraphType >
 
struct  llvm::GraphTraits< Inverse< Inverse< T > > >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
 

Typedefs

template<typename T >
using llvm::detail::has_number_t = decltype(GraphTraits< T >::getNumber(std::declval< typename GraphTraits< T >::NodeRef >()))
 

Functions

template<class GraphType >
iterator_range< typename GraphTraits< GraphType >::nodes_iterator > llvm::nodes (const GraphType &G)
 
template<class GraphType >
iterator_range< typename GraphTraits< Inverse< GraphType > >::nodes_iterator > llvm::inverse_nodes (const GraphType &G)
 
template<class GraphType >
iterator_range< typename GraphTraits< GraphType >::ChildIteratorType > llvm::children (const typename GraphTraits< GraphType >::NodeRef &G)
 
template<class GraphType >
iterator_range< typename GraphTraits< Inverse< GraphType > >::ChildIteratorType > llvm::inverse_children (const typename GraphTraits< GraphType >::NodeRef &G)
 
template<class GraphType >
iterator_range< typename GraphTraits< GraphType >::ChildEdgeIteratorType > llvm::children_edges (const typename GraphTraits< GraphType >::NodeRef &G)
 

Variables

template<typename NodeT >
constexpr bool llvm::GraphHasNodeNumbers
 Indicate whether a GraphTraits<NodeT>::getNumber() is supported.
 

Detailed Description

This file defines the little GraphTraits<X> template class that should be specialized by classes that want to be iteratable by generic graph iterators.

This file also defines the marker class Inverse that is used to iterate over graphs in a graph defined, inverse ordering...

Definition in file GraphTraits.h.