1320957Sdim#ifndef LLVM_SUPPORT_REVERSEITERATION_H 2320957Sdim#define LLVM_SUPPORT_REVERSEITERATION_H 3320957Sdim 4320957Sdim#include "llvm/Config/abi-breaking.h" 5327952Sdim#include "llvm/Support/PointerLikeTypeTraits.h" 6320957Sdim 7320957Sdimnamespace llvm { 8327952Sdim 9327952Sdimtemplate<class T = void *> 10327952Sdimbool shouldReverseIterate() { 11320957Sdim#if LLVM_ENABLE_REVERSE_ITERATION 12327952Sdim return detail::IsPointerLike<T>::value; 13320957Sdim#else 14327952Sdim return false; 15320957Sdim#endif 16320957Sdim} 17320957Sdim 18327952Sdim} 19320957Sdim#endif 20