Hello,
I was looking at the casting functions and the one that
had the behavior I wanted most was the shared_polymorphic_cast. I do not want
an empty shared_ptr<T> to be created if the cast cannot be performed. I
would prefer to have an exception thrown in debug mode and release mode. The
problem is that while going through the shared_ptr.hpp, I found a comment on
line number 388 just above all the cast conversion functions "//
shared_*_cast names are deprecated. Use *_pointer_cast instead." I have
not found a *_pointer_cast function that does what I want. The
dynamic_pointer_cast does not throw an exception. Is there a good alternative?
Should I enforce a standard on my team of using dynamic_pointer_cast along with
a run-time check of seeing if an empty shared_ptr<T> was created?
Thanks,
Bernard