Partitioning specification for a single hierarchical level. More...
#include <channel_metadata.hpp>
Public Types | |
| enum class | Type : std::uint8_t { NONE , INHERIT , HASH } |
| Type tag for PartitioningSpec. More... | |
Public Member Functions | |
| bool | operator== (PartitioningSpec const &) const =default |
| Equality comparison. 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... | |
Public Attributes | |
| Type | type = Type::NONE |
| The type of partitioning. | |
| std::optional< HashScheme > | hash |
| Valid only when type == HASH. | |
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. Definition at line 44 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. |
Definition at line 48 of file channel_metadata.hpp.
|
inlinestatic |
Create a spec for hash partitioning.
| h | The hash scheme to use. |
Definition at line 78 of file channel_metadata.hpp.
|
inlinestatic |
Create a spec indicating partitioning passes through from parent.
Definition at line 69 of file channel_metadata.hpp.
|
inlinestatic |
Create a spec indicating no partitioning information.
Definition at line 61 of file channel_metadata.hpp.
|
default |
Equality comparison.