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 *> 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