5.2. The Layout template

Description. The Layout template is simple tuple representing compile-time information about a block's data (storage) layout.

template <dimension_type D,
          typename Order,
          typename PackType,
          typename ComplexType>
{
  static dimension_type const dim = D;
  typedef PackType pack_type;
  typedef Order order_type;
  typedef ComplexType complex_type;
};

Template parameters. 

D

The block's dimension.

Order

The dimension ordering. This is expressed using tuples, i.e. tuple<0,1,2>, tuple<1,0,2>, etc., or aliases such as row2_type or col2_type.

PackType

One of Stride_unit, Stride_unit_dense, Stride_unit_align<...>, or Stride_unknown.

ComplexType

One of Any_type, Cmplx_inter_fmt, or Cmplx_split_fmt.