I wanted to move out the dependency for some reason (iphone,ipad).
In this library I am using the pimpl idiom and once I replaced the shared_ptr of boost by my version of it, I faced a warning of the compiler:
warning: possible problem detected in invocation of delete operator:
Hopefully I found the solution to my problem here:
Private implementation using smart pointers and deletion troubleI didn't understand clearly what was the workaround used by boost::shared_ptr to work on incomplete type, but it was surely useful. As far as I understood, the trick would be to instantiate an deleter object when the pointer is assigned so at this moment the type is complete.
ps: I found the trick!
using a function pointer to delete.
It is very well explained here: http://www.justsoftwaresolutions.co.uk/articles/genericptr.pdf