A set of trait classes on how to manipulate data.
This is the concept each data traits class has to model:
struct
{
typedef ... TData;
typedef ... TScalar;
static size_t dimension(const TData& iY);
static void zero(TData& iY, size_t iDim);
static TScalar get(const TData& iY, size_t iIndex);
static void set(TData& ioY, size_t iIndex, TScalar iV);
static void scale(TDAta& ioAcc, TScalar iS);
static void multiplyAccumulate(TData& ioAcc, const TData& iY, TScalar iS);
};
- DataTraitsSequence: concerning data acting like an STL sequence
- DataTraitsScalar: concerning scalar data
- DataTraitsDynamicVector: concerning data like num::Vector
- DataTraitsStaticVector: concerning data like prim::Vector2D