Transform a PreBasis into one with an outer-level blocked index-merging strategy and all inner nodes with flat index-merging strategy. More...
#include <BlockedPreBasis.hpp>
Public Types | |
| using | type = PreBasis |
Static Public Member Functions | |
| template<class PB > | |
| static type | create (PB const &preBasis) |
| static PreBasis const & | create (PreBasis const &preBasis) |
| Do not transform the preBasis if already blocked. | |
Transform a PreBasis into one with an outer-level blocked index-merging strategy and all inner nodes with flat index-merging strategy.
This utility takes a pre-basis and converts recursively all index-merging strategies into their blocked or flat analog, i.e. BlockedInterleaved is converted into FlatInterleaved and BlockedLexicographic is transformed into FlatLexicographic or vice versa. Thereby only the outer node is transformed into blocked, whereas all inner nodes into flat pre-bases.
This type-trait needs to be specialized for all PreBasis types that need special handling, like PowerPreBasis or CompositePreBasis.
()