Many constructs in the framework require the specification of a subsystem of a multiary quantum system @ compile time. The main example is retained index positions for slicing (cf. The multi-array concept). It is the template parameter V, a compile-time sequence, that specifies the subsystem.
tmptools::Vector and range_c from Boost.MPL.
Size<V>::value must not be larger than the arityV must not “contain”These are checked for @ compile time, and any violation is signalled by more or less intelligent compiler errors generated with the help of Boost.MPL's static assertions.