Make the type traits for a const pointer defer to those for a unqualified

pointer, instead of providing independent values modelled on the default
implementation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82620 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John McCall 2009-09-23 06:53:51 +00:00
parent 296925dc16
commit 470e08e1d1

View File

@ -50,12 +50,16 @@ public:
// Provide PointerLikeTypeTraits for const pointers.
template<typename T>
class PointerLikeTypeTraits<const T*> {
typedef PointerLikeTypeTraits<T*> NonConst;
public:
static inline const void *getAsVoidPointer(const T* P) { return P; }
static inline const T *getFromVoidPointer(const void *P) {
return static_cast<const T*>(P);
static inline const void *getAsVoidPointer(const T* P) {
return NonConst::getAsVoidPointer(const_cast<T*>(P));
}
enum { NumLowBitsAvailable = 2 };
static inline const T *getFromVoidPointer(const void *P) {
return NonConst::getFromVoidPointer(const_cast<void*>(P));
}
enum { NumLowBitsAvailable = NonConst::NumLowBitsAvailable };
};
// Provide PointerLikeTypeTraits for uintptr_t.