A dynamic array or vector supporting small buffer optimization.
SmallVec<T, N>
is, in essence, just an enum
with two variants:
LocalBuf
: a buffer allocated locally inside theSmallVec
itself.RemoteBuf
: aVec<T>
, i.e., a remote buffer allocated on the heap.
The capacity of the local buffer is specified at compile time as a constant generic argument to SmallVec
thanks to const generics.