Andrew Scull | 5e1ddfa | 2018-08-14 10:06:54 +0100 | [diff] [blame] | 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 |