id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11032,boost::offset_ptr needs explicit ctor,stheophil@…,Ion Gaztañaga,"Both the libc++ std library implementation and the MSVC library implementation require that their pointer types can be upcast. The list and tree data structures have a class hierarchy of node types and often seem to pass pointers to the base types (or to offset_ptr) that are then upcast to the most derived types. offset_ptr has no explicit constructor that allows upcasts, only implicit ctors for downcasts. We have patched our version of offset_ptr with this constructor: {{{ //!Explicit constructor from other offset_ptr. Never throws. template explicit offset_ptr(const offset_ptr &ptr , typename ipcdetail::enable_if_c< !ipcdetail::is_convertible::value >::type * = 0) : internal(ipcdetail::offset_ptr_to_offset(static_cast(ptr.get()), this)) {} }}} ",Bugs,new,To Be Determined,interprocess,Boost 1.57.0,Problem,,,