A stateless, compile-time schema for product type transformation. More...
#include <kumi/utils/projections.hpp>
A stateless, compile-time schema for product type transformation.
kumi::projection_map reifies the act of indexing or member access into a first-class type-level entity. It defines a sequence of accessors (projections) that can be applied to any kumi::product_type to extract, reorder, or reshape its components.
Because it is a "Meta-Product Type" (a product of accessors), it allows for complex data manipulations (like zipping or partitioning) to be expressed as a single Non-Type Template Parameter (NTTP).
| V | A pack of elements modeling kumi::concepts::projection. |
Accessors | |
| template<std::size_t I> | |
| constexpr decltype(auto) | get (projection_map const &pm) noexcept |
| Extracts the Ith element from a kumi::projection_map. | |
Properties | |
| static constexpr auto | size () noexcept |
| Returns the number of elements in a kumi::indexes_t. | |
| static constexpr auto | empty () noexcept |
| Returns true if a kumi::indexes_t contains 0 elements. | |