LLVM: include/llvm/ADT/GraphTraits.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19#ifndef LLVM_ADT_GRAPHTRAITS_H

20#define LLVM_ADT_GRAPHTRAITS_H

21

24

25namespace llvm {

26

27

28

29

30

31

32

33

34

35

36

37template

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95 using NodeRef = typename GraphType::UnknownGraphTypeError;

96};

97

99template

102}

103

104

105template

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122template

128

129

130

132

133

134template

140template

146

147template

148iterator_range<typename GraphTraits::ChildIteratorType>

153

154template

160

161template

162iterator_range<typename GraphTraits::ChildEdgeIteratorType>

167

168}

169

170#endif

Unify divergent function exit nodes

A range adaptor for a pair of iterators.

This provides a very simple, boring adaptor for a begin and end iterator into a range type.

decltype(GraphTraits< T >::getNumber( std::declval< typename GraphTraits< T >::NodeRef >())) has_number_t

Definition GraphTraits.h:100

This is an optimization pass for GlobalISel generic memory operations.

iterator_range< typename GraphTraits< Inverse< GraphType > >::nodes_iterator > inverse_nodes(const GraphType &G)

Definition GraphTraits.h:142

iterator_range< T > make_range(T x, T y)

Convenience function for iterating over sub-ranges.

constexpr bool GraphHasNodeNumbers

Indicate whether a GraphTraits::getNumber() is supported.

Definition GraphTraits.h:106

iterator_range(Container &&) -> iterator_range< llvm::detail::IterOfRange< Container > >

iterator_range< typename GraphTraits< GraphType >::ChildEdgeIteratorType > children_edges(const typename GraphTraits< GraphType >::NodeRef &G)

Definition GraphTraits.h:163

iterator_range< typename GraphTraits< Inverse< GraphType > >::ChildIteratorType > inverse_children(const typename GraphTraits< GraphType >::NodeRef &G)

Definition GraphTraits.h:156

typename detail::detector< void, Op, Args... >::value_t is_detected

Detects if a given trait holds for some set of arguments 'Args'.

iterator_range< typename GraphTraits< GraphType >::ChildIteratorType > children(const typename GraphTraits< GraphType >::NodeRef &G)

Definition GraphTraits.h:149

Definition GraphTraits.h:38

typename GraphType::UnknownGraphTypeError NodeRef

Definition GraphTraits.h:95

Definition GraphTraits.h:123

const GraphType & Graph

Definition GraphTraits.h:124

Inverse(const GraphType &G)

Definition GraphTraits.h:126