[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
![]() |
ArrayVector< T, Alloc > | ![]() |
#include <vigra/array_vector.hxx>
Public Types | |
typedef view_type::value_type | value_type |
Replacement for std::vector
.
This template implements the same functionality as std::vector
. However, it gives two useful guarantees, that std::vector
fails to provide:
T *
This means that memory managed by ArrayVector
can be passed to algorithms that expect raw memory. This is especially important when lagacy or C code has to be called, but it is also useful for certain optimizations.
Moreover, ArrayVector
is derived from ArrayVectorView
so that one can create views of the array (in particular, subarrays). This implies another important difference to std::vector
: the indexing operator (ArrayVector::operator[]
) takes signed
indices. In this way, an ArrayVectorView
can be used with negative indices:
ArrayVector<int> data(100); ArrayVectorView<int> view = data.subarray(50, 100); view[-50] = 1; // valid access
Refer to the documentation of std::vector
for a detailed description of ArrayVector
functionality.
#include <vigra/array_vector.hxx>
Namespace: vigra
typedef view_type::value_type value_type |
default constructor
Reimplemented from ArrayVectorView< T >.
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|