libs/ma_handler_ptr/include/ma/detail/handler_ptr.hpp
handler_ptr(raw_ptr_type& raw_ptr)
    : alloc_context_(detail::addressof(raw_ptr.alloc_context_))
    , pointer_(new (raw_ptr.pointer_) value_type)
  {
    raw_ptr.pointer_ = 0;
  }
/// Construct object in raw memory and take ownership if construction
/// succeeds.
/// Throws if constructor of value_type throws.
Construct object in raw memory and take ownership if construction
succeeds.
Throws if constructor of value_type throws.
Construct object in raw memory and take ownership if construction succeeds . Throws if constructor of value_type throws .
handler_ptr(raw_ptr_type& raw_ptr)
    : alloc_context_(detail::addressof(raw_ptr.alloc_context_))
    , pointer_(new (raw_ptr.pointer_) value_type)
  {
    raw_ptr.pointer_ = 0;
  }
handler_ptr ( raw_ptr_type & raw_ptr ) : alloc_context_ ( detail :: addressof ( raw_ptr . alloc_context_ ) ) , pointer_ ( new ( raw_ptr . pointer_ ) value_type ) { raw_ptr . pointer_ = 0 ; }
Construct object in raw memory and take ownership if construction
succeeds.
Construct object in raw memory and take ownership if construction succeeds .