Subject: [boost] embedded_vector (was: Re: [rfc] sized_array)
Date: 2010-02-09 05:09:31
Zitat von Tim Blechmann <tim_at_[hidden]>:
>>> [...] in contrary to std::vector, which is only required to
>>> support random-access iterators (which are implementation-defined), my
>>> class guaranties to allocate the data in one consecutive memory area. [...]
>> As of C++03, std::vector is contiguous, so I'm not convinced by the
>> utility of this.
> interesting ... it seems, my assumption was based on c++98
I don't think that was changed from 98 to 03.
but your description reminded me of something I do think would be a
useful addition to Boost.Array.
a vector that resides on the stack as long as it fits in there(like a
boost::array) but still supports dynamic allocation in case the vector
size exceeds the reserved space.
my implementation of this:
template<class T,std::size_t EmbeddedSize,bool Expand=true>
embedded_vector<T,Size,false> should be equivalent to
boost::array<T,Size>, but if Expand==true max_size() is unlimited,
with no allocation as long as size() <= EmbeddedSize
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk