Logo MTL4
Public Types
mtl::ConstantSizeAlgebraicCollection< T > Struct Template Reference

Concept ConstantSizeAlgebraicCollection: extension of AlgebraicCollection with meta-functions. More...

#include <collection.hpp>

Inheritance diagram for mtl::ConstantSizeAlgebraicCollection< T >:
Inheritance graph
[legend]
Collaboration diagram for mtl::ConstantSizeAlgebraicCollection< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef associated_type static_num_rows
 Associated type: meta-function for number of rows.
typedef associated_type static_num_cols
 Associated type: meta-function for number of columns.
typedef associated_type static_size
 Associated type: meta-function for number of elements.

Detailed Description

template<typename T>
struct mtl::ConstantSizeAlgebraicCollection< T >

Concept ConstantSizeAlgebraicCollection: extension of AlgebraicCollection with meta-functions.

This concept is used for algebraic collections with sizes known at compile time. The motivation is that if the size of the collection is is small, arithmetic operations can be unrolled at compile time.

Refinement of:
Notation:
Valid expressions:
  • Number of rows:
    static_num_rows<X>::value
  • Number of columns:
    static_num_cols<X>::value
  • Number of elements:
    static_size<X>::value
    Sematics: static_num_rows<X>::value * static_size<X>::value
Note:
  1. For more design clarity we consider them all as matrices (as Matlab does) and we regard Scalar and Vector as special cases (see there). However, the implementation of vectors is supposed to differ from the ones of matrices in order to provide efficient computations and storage.

The documentation for this struct was generated from the following file:


mtl::ConstantSizeAlgebraicCollection< T > Struct Template Reference -- MTL 4 -- Peter Gottschling and Andrew Lumsdaine -- Gen. with rev. 7542 on Sat Aug 11 2012 by doxygen 1.7.6.1 -- © 2010 by SimuNova UG.