On Oct 14, 2014, at 5:00 PM, david.hagood@gmail.com wrote:
I am doing signal processing, and in order to avoid data copies I need something that: 1) can adopt a buffer of data (e.g. take ownership of a T*) 2) Release that buffer via an appropriate method (e.g. take a deallocator object). 3) Provide operator[] over that buffer 4) provide shared ownership semantics
So far, that's shared_array<> to a T [sic]
However, I need one more thing:
5) provide iterator support (begin(), end(), cbegin(), cend())
The current shared_array<> doesn't provide that - is there anything else that does?
Could you go and use an overloaded C++11 non-member std::begin( shared_array<> .. ) instead of the member .begin()? If so then you could try to write a simple generic non-member begin() for the shared_array<> (and ask if it can be added to boost)? This is a good example of why the C++11 non-member begin() syntax gives more flexibility.