7 #ifndef _QITYPE_DETAILS_TYPEPOINTER_HXX_
8 #define _QITYPE_DETAILS_TYPEPOINTER_HXX_
10 #include <boost/shared_ptr.hpp>
48 return typeOf<typename T::element_type>();
60 *ptr = T((
typename T::element_type*)pointer);
69 #endif // _QITYPE_DETAILS_TYPEPOINTER_HXX_
virtual void * ptrFromStorage(void **)=0
_QI_BOUNCE_TYPE_METHODS(TypeMethodsImpl)
_QI_BOUNCE_TYPE_METHODS(Impl)
void setPointee(void **storage, void *pointer)
Set new pointee value. pointer must be a pointer to type pointedType()
DefaultTypeImplMethods< T, TypeByPointerPOD< T > > Impl
TypeInterface * pointedType()
Get the type of the pointed element.
PointerKind pointerKind()
Return whether the pointer has raw or shared semantics.
DefaultTypeImplMethods< T *, TypeByValue< T * > > TypeMethodsImpl
PointerKind pointerKind()
Return whether the pointer has raw or shared semantics.
TypeInterface * pointedType()
Get the type of the pointed element.
AnyReference dereference(void *storage)
Get the pointed element (must not be destroyed)
AnyReference dereference(void *storage)
Get the pointed element (must not be destroyed)
void setPointee(void **storage, void *pointer)
Set new pointee value. pointer must be a pointer to type pointedType()
Access api that stores a T in storage.
virtual void * initializeStorage(void *ptr=0)=0