Simple multidimensional arrays. More...
#include "CxxUtils/Arrayrep.h"
#include <iterator>
#include "CxxUtils/Array.icc"
Go to the source code of this file.
Classes | |
class | CxxUtils::ArrayIteratorChooser< N > |
Helper for defining iterators over Array's . More... | |
class | CxxUtils::ArrayIteratorChooser< 1 > |
class | CxxUtils::Array< N > |
Read-only multidimensional array. More... | |
class | CxxUtils::Array< 0 > |
class | CxxUtils::ArrayIterator< N > |
Iterator class for Array<N> . More... | |
class | CxxUtils::ArrayIterator< N >::pointer |
Proxy to return from operator> . More... | |
class | CxxUtils::WritableArray< N > |
Read-write multidimensional array. More... | |
class | CxxUtils::WritableArray< 0 > |
class | CxxUtils::WritableArrayData< N > |
Namespaces | |
namespace | CxxUtils |
Copy the elements of a sequence for which a predicate is true. |
Simple multidimensional arrays.
There are three families of classes:
Array<N>
provides read-only access to an array. Indexing with [] returns an Array<N-1>
. Array<0>
is special; it doesn't support indexing, but does support implicit conversion to the element type, Arrayelt
. The Array
classes do not own their storage (and thus indexing does not require a complete copy). Rather, the complete data for the array are stored in an instance of Arrayrep
. An Array
holds a pointer to an Arrayrep
and an offset into the data.WritableArray
is similar to Array
, except that it may be written to as well. An Array
may be initialized from a WritableArray
, but not the other way around.WritableArrayData
is a WritableArray
together with an Arrayrep
. This is a convenient way of creating from scratch an array to which you can write.