Blaze 3.9
blaze::GroupTag< ID > Struct Template Reference

Group tag for vectors and matrices. More...

#include <GroupTag.h>

Detailed Description

template<size_t ID>
struct blaze::GroupTag< ID >

Group tag for vectors and matrices.

General

Via the GroupTag class template it is possible to define distinct groups of vectors and matrices. Only vectors and matrices that belong to the same group can be used together. The attempt to combine vectors and matrices from different groups results in a compilation error:

a0 + b0; // Compiles, a0 and b0 are in the same group (Group0)
a1 + b1; // Compiles, a1 and b1 are in the same group (Group1)
a0 + b1; // Compilation error: a0 and b1 are not in the same group
Efficient implementation of an arbitrary sized vector.
Definition: DynamicVector.h:223
GroupTag< 1UL > Group1
Tag for group 1.
Definition: GroupTag.h:99
GroupTag< 0UL > Group0
Tag for group 0. This is the default tag for vectors and matrices.
Definition: GroupTag.h:91
constexpr bool columnVector
Transpose flag for column vectors.
Definition: TransposeFlag.h:58

Custom Group Tags

The Blaze library provides 10 different groups based on the GroupTag class template (Group0 through Group9). In order to create further groups, it is possible to instantiate the GroupTag class template with IDs beyond 9:

using Group10 = blaze::GroupTag<10>;
Group tag for vectors and matrices.
Definition: GroupTag.h:83

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