Boost logo

Boost Users :

From: sankar lingam (shankar.nitc_at_[hidden])
Date: 2008-03-19 03:52:34


            I made the following wrapper over the Boost.InterProcessAllocator,

#include <boost/interprocess/allocators/allocator.hpp>

using namespace boost::interprocess;

template<class T, class SegmentManager>

class shared_allocator : public allocator< T, SegmentManager>

{

public:

shared_allocator(SegmentManager *segment_mngr):allocator(segment_mngr)

{

}

T* allocate(size_type count, void* hint = 0)

{

return allocator::allocate( count).get();

}

void deallocate(T* ptr, size_type size)

{

allocator::deallocate(ptr,size);

}

};

and used the shared_allocator as the allocator to Boost.multi_array and

I find it working fine. The boost multi_array allocates and deallocates the
memory

through shared_allocator.

Am I doing something wrong here??Can it be used this way??

On Tue, Mar 18, 2008 at 8:13 PM, Ion Gaztañaga <igaztanaga_at_[hidden]> wrote:

> sankar lingam wrote:
> >
> >
> >
> > Can I create Boost multi_array in shared memory using
> > Boost.InterProcess..?
> > Can some one explain as to how this can be done.?
> >
> > I tried providing the Boost InterProcess Allocator to the
> > Boost multi_array but it gives the
> > expected compiler error of casting an offset<ptr> to T* , when
> > the multi_array tries to convert
> > return type of the allocator allocate function(which is an
> > offset<ptr>) to T*.
> >
> > Can this problem be overcome by writing a custom stl
> > compatible allocator wrapper over the interprocess allocator?
> >
> > Regards,
> > Sankar
>
> MultiArray is not compatible with Boost.Interprocess. I've never tried
> that, so I can give any clue on how to solve this. It would interesting
> to make MultiArray compatible with non-raw pointers, but this is a issue
> MultiArray authors should address if they find it useful.
>
> Regards,
>
> Ion
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net