1 #ifndef LLVM_SUPPORT_REVERSEITERATION_H
2 #define LLVM_SUPPORT_REVERSEITERATION_H
3 
4 #include "llvm/Config/abi-breaking.h"
5 #include "llvm/Support/PointerLikeTypeTraits.h"
6 
7 namespace llvm {
8 
9 template<class T = void *>
shouldReverseIterate()10 bool shouldReverseIterate() {
11 #if LLVM_ENABLE_REVERSE_ITERATION
12   return detail::IsPointerLike<T>::value;
13 #else
14   return false;
15 #endif
16 }
17 
18 }
19 #endif
20