- /// Returns the pointer to the implementation
- void* implementation();
- /// Updates the implementation (deletes the old one)
- void setImplementation(void* theImpl);
+ /// Returns the pointer to the impl
+ template<class T> inline T* implPtr()
+ {
+ return static_cast<T*>(myImpl);
+ }
+ /// Returns the reference object of the impl
+ template<class T> inline const T& impl()
+ {
+ return *(static_cast<T*>(myImpl));
+ }
+ /// Updates the impl (deletes the old one)
+ void setImpl(void* theImpl);