xref: /freebsd/contrib/llvm-project/llvm/include/llvm/Support/ReverseIteration.h (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
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 } // namespace llvm
19 #endif
20