Struct hwloc::CpuBindFlags
[−]
[src]
pub struct CpuBindFlags { // some fields omitted }
Process/Thread binding flags.
These bit flags can be used to refine the binding policy.
The default (Process) is to bind the current process, assumed to be single-threaded, in a non-strict way. This is the most portable way to bind as all operating systems usually provide it.
Note: Not all systems support all kinds of binding.
The following flags (constants) are available:
- CPUBIND_PROCESS: Bind all threads of the current (possibly) multithreaded process.
- CPUBIND_THREAD: Bind current thread of current process.
- CPUBIND_STRICT: Request for strict binding from the OS.
- CPUBIND_NO_MEMBIND: Avoid any effect on memory binding.
Methods
impl CpuBindFlags
fn empty() -> CpuBindFlags
Returns an empty set of flags.
fn all() -> CpuBindFlags
Returns the set containing all flags.
fn bits(&self) -> i32
Returns the raw value of the flags currently stored.
fn from_bits(bits: i32) -> Option<CpuBindFlags>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: i32) -> CpuBindFlags
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
fn is_all(&self) -> bool
Returns true
if all flags are currently set.
fn intersects(&self, other: CpuBindFlags) -> bool
Returns true
if there are flags common to both self
and other
.
fn contains(&self, other: CpuBindFlags) -> bool
Returns true
all of the flags in other
are contained within self
.
fn insert(&mut self, other: CpuBindFlags)
Inserts the specified flags in-place.
fn remove(&mut self, other: CpuBindFlags)
Removes the specified flags in-place.
fn toggle(&mut self, other: CpuBindFlags)
Toggles the specified flags in-place.