id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7654,offset_ptr can't be evaluated a pointer to a container in shared memory,hongchenbo@…,Ion Gaztañaga,"i created a container(boost::container::set) in shared memory by managed_shared_memeory::construct,i wanted to put the pointer of container into a offset_ptr,codes as: typedef boost::container::set, int_allocator_type> values_type; values_ptr_ = segment_manager_->construct( boost::interprocess::anonymous_instance )( std::less(), int_allocator_type( segment_manager_ ) ); when compiling: error C2512: 'boost::interprocess::allocator' : no appropriate default constructor available with [ T=boost::container::container_detail::rbtree_node>, SegmentManager=segment_manager_type ] the related codes as: template offset_ptr( T *ptr , typename ipcdetail::enable_if< ipcdetail::is_convertible >::type * = 0) { this->set_offset(static_cast(ptr)); } template struct enable_if_c { typedef T type; }; template struct enable_if_c {}; template struct enable_if : public enable_if_c {}; template struct disable_if : public enable_if_c {}; template class is_convertible { typedef char true_t; class false_t { char dummy[2]; }; static true_t dispatch(U); static false_t dispatch(...); static T trigger(); public: static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); }; i thougnt that T and U are values_type*,it's unnecessary to instantiate a values_type,but why called allocator's constructor ? the boost::container's allocator must have a default constructor,but,in fact,boost::interprocess::allocator is stateful,its constructor need the pointer to segment_manager。is it a bug? or my codes is fault?",Bugs,closed,To Be Determined,interprocess,Boost 1.52.0,Problem,worksforme,offset_ptr boost::container,