Opened 7 years ago

#11799 new Bugs

boost::interprocess::offset_ptr not compatible with C++11 std::pointer_traits

Reported by: Chris Clearwater <chris@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: container
Version: Boost 1.59.0 Severity: Problem
Keywords: Cc:

Description

offset_ptr defines its rebind member as:

   template <class U>
   struct rebind
   {  typedef offset_ptr<U, DifferenceType, OffsetType, OffsetAlignment> other;  };

but std::pointer_traits<T>::rebind is defined as:

    Ptr::rebind<U> if exists, otherwise Template<U, Args...> if Ptr is a template instantiation Template<T, Args...>

This means that offset_ptr's rebind should just be an alias template rather than a struct with an ::other member.

Change History (0)

Note: See TracTickets for help on using tickets.