holoscan::CPUAffinity
Canonical CPU affinity request for a runtime thread.
A default-constructed CPUAffinity has no cores and is invalid when present inside a ThreadPlacement. That lets ThreadPlacement distinguish “no affinity requested” from “an affinity
request was provided but contained no CPUs.”
Constructors
CPUAffinity
Default
Overload 2
From initializer_list
Construct an empty CPU affinity request.
Returns: CPUAffinity with no CPU core IDs.
Methods
empty
Return whether this CPUAffinity contains no CPU core IDs.
Returns: bool true when the affinity has no CPU core IDs.
normalize
Normalize CPU core IDs in place into sorted, unique order.
validate
Validate that this CPUAffinity contains at least one CPU core ID.
Returns: expected<void, Error> containing void on success or Error when the affinity is empty.
Throws: None. Validation failures are returned in the expected result.
Static methods
from_ranges
Overload 1
Overload 2
Build a CPU affinity request from inclusive CPU core ranges.
Returns: expected<CPUAffinity, Error> containing CPUAffinity on success or Error on invalid range ordering or excessive range expansion.
Throws: None. Validation failures are returned in the expected result.
Parameters
Inclusive CPU core ranges to expand and normalize.
from_cores_and_ranges
Build a CPU affinity request from explicit core IDs plus inclusive ranges.
Returns: expected<CPUAffinity, Error> containing CPUAffinity on success or Error on invalid range ordering or excessive range expansion.
Throws: None. Validation failures are returned in the expected result.
Parameters
CPU core IDs to include in the affinity request.
Inclusive CPU core ranges to expand and include in the affinity request.