-
-/// PointerLikeTypeInfo - This is a traits object that is used to handle pointer
-/// types and things that are just wrappers for pointers as a uniform entity.
-template <typename T>
-class PointerLikeTypeInfo {
- //getAsVoidPointer/getFromVoidPointer
-};
-
-// Provide PointerLikeTypeInfo for all pointers.
-template<typename T>
-struct PointerLikeTypeInfo<T*> {
- static inline void *getAsVoidPointer(T* P) { return P; }
- static inline T *getFromVoidPointer(void *P) {
- return static_cast<T*>(P);
- }
-};
-template<typename T>
-struct PointerLikeTypeInfo<const T*> {
- static inline const void *getAsVoidPointer(const T* P) { return P; }
- static inline const T *getFromVoidPointer(const void *P) {
- return static_cast<const T*>(P);
- }
-};