gcpp icon indicating copy to clipboard operation
gcpp copied to clipboard

gcpp::dynamic_pointer_cast, gcpp::const_pointer_cast, etc.

Open jwezorek opened this issue 5 years ago • 1 comments

The public interface right now makes it impossible to implement dynamic_pointer_cast, const_pointer_cast, static_pointer_cast, and reinterpret_pointer_cast for deferred pointers.

The deferred_ptr's converting constructor makes it possible to covert between any pointers that for which is_convertible<T,U> is true but that is not enough to do all the common casts. The converting constructor could be made private with the enable_if removed and then the casts could implemented as friend functions?

jwezorek avatar Jan 17 '21 16:01 jwezorek

Thanks for this suggestion. For now I'm waiting for feedback and bug reports from actual use of the library, and deferring enhancements and optimizations until then but keeping them in the backlog.

hsutter avatar Sep 28 '21 19:09 hsutter