15 #ifndef LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
16 #define LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
36 static inline void *getAsVoidPointer(T* P) {
return P; }
37 static inline T *getFromVoidPointer(
void *P) {
38 return static_cast<T*
>(P);
47 enum { NumLowBitsAvailable = 2 };
56 static inline const void *getAsVoidPointer(
const T* P) {
57 return NonConst::getAsVoidPointer(const_cast<T*>(P));
59 static inline const T *getFromVoidPointer(
const void *P) {
60 return NonConst::getFromVoidPointer(const_cast<void*>(P));
62 enum { NumLowBitsAvailable = NonConst::NumLowBitsAvailable };
69 static inline void *getAsVoidPointer(uintptr_t P) {
70 return reinterpret_cast<void*
>(P);
72 static inline uintptr_t getFromVoidPointer(
void *P) {
73 return reinterpret_cast<uintptr_t
>(P);
76 enum { NumLowBitsAvailable = 0 };
PointerLikeTypeTraits - This is a traits object that is used to handle pointer types and things that ...
Definition: PointerLikeTypeTraits.h:26
Definition: PointerLikeTypeTraits.h:34