Partitioning specification for a single hierarchical level. More...
#include <channel_metadata.hpp>
Public Types | |
| enum class | Type : std::uint8_t { NONE , INHERIT , HASH , ORDER } |
| Type tag for PartitioningSpec. More... | |
Static Public Member Functions | |
| static PartitioningSpec | none () |
| Create a spec indicating no partitioning information. More... | |
| static PartitioningSpec | inherit () |
| Create a spec indicating partitioning passes through from parent. More... | |
| static PartitioningSpec | from_hash (HashScheme h) |
| Create a spec for hash partitioning. More... | |
| static PartitioningSpec | from_order (OrderScheme o) |
| Create a spec for order/range partitioning. More... | |
Public Attributes | |
| Type | type = Type::NONE |
| The type of partitioning. | |
| std::optional< HashScheme > | hash |
| Valid only when type == HASH. | |
| std::optional< OrderScheme > | order |
| Valid only when type == ORDER. | |
Partitioning specification for a single hierarchical level.
Represents how data is partitioned at one level of the hierarchy (e.g., inter-rank or local). Use the static factory methods to construct.
none(): No partitioning information at this level.inherit(): Partitioning is inherited from the parent level unchanged.from_hash(h): Explicit hash partitioning with the given scheme.from_order(o): Explicit order/range partitioning with the given scheme. Definition at line 143 of file channel_metadata.hpp.
|
strong |
Type tag for PartitioningSpec.
| Enumerator | |
|---|---|
| NONE | No partitioning information at this level. |
| INHERIT | Partitioning is inherited from parent level unchanged. |
| HASH | Hash partitioning. |
| ORDER | Order/range partitioning. |
Definition at line 147 of file channel_metadata.hpp.
|
inlinestatic |
Create a spec for hash partitioning.
| h | The hash scheme to use. |
Definition at line 179 of file channel_metadata.hpp.
|
static |
Create a spec for order/range partitioning.
| o | The order scheme to use. o.keys must be non-empty; otherwise throws std::invalid_argument. |
|
inlinestatic |
Create a spec indicating partitioning passes through from parent.
Definition at line 170 of file channel_metadata.hpp.
|
inlinestatic |
Create a spec indicating no partitioning information.
Definition at line 162 of file channel_metadata.hpp.