Boost logo

Boost :

Subject: Re: [boost] Interest in multi-dimensional array class templates.
From: Larry Evans (cppljevans_at_[hidden])
Date: 2011-06-23 10:09:51

On 06/23/11 08:08, Frank Mori Hess wrote:
> On Wednesday, June 22, 2011, Brian Smith wrote:
>>> There is also Boost.MultiArray, has the overlap with that library been
>>> addressed already?
>> In terms of the way in which the two libraries create and manipulate
>> storage there's no overlap. Ultimately they serve the same purpose,
>> however, Boost.MultiArray doesn't provide statically allocated arrays
> I'm not sure that's true. I've never tried it, but multi_array_ref
> "provides the MultiArray interface over any contiguous block of elements" so
> it seems like you could create one of those which uses statically allocated
> storage.
>> and generally provides poorer performance.
> Is that assertion based on actual testing (with NDEBUG defined), or is there
> some by-design reason your performance would be better?
IIUC, Brian's templates provide something akin to:

  < typename T
  , std::size_t... Lengths
  struct array

corresponding to multi_array's:

  < typename T
  , std::size_t NumDims
  struct multi_array

where T serves the same purpose as multi_array's T and
sizeof...(Lengths) = multi_array's NumDims and the Lengths,
instead of being passed to the CTOR, as in multiarray and
being runtime values, are specified as compile-time constants.

Is that *about* right Brian?


Boost list run by bdawes at, gregod at, cpdaniel at, john at