pub struct InstructionPolicy<const N: usize> { /* private fields */ }Expand description
Instruction policy – maps capabilities to validation requirements.
Const-constructible, stack-allocated. At most N rules.
Implementations§
Source§impl<const N: usize> InstructionPolicy<N>
impl<const N: usize> InstructionPolicy<N>
Sourcepub const fn when(self, cap: Capability, req: PolicyRequirement) -> Self
pub const fn when(self, cap: Capability, req: PolicyRequirement) -> Self
Add a policy rule: when cap is declared, req must be satisfied.
Sourcepub const fn resolve(&self, caps: &CapabilitySet) -> RequirementSet
pub const fn resolve(&self, caps: &CapabilitySet) -> RequirementSet
Resolve which requirements are needed for a given capability set.
Returns the union of all requirements triggered by the declared capabilities.
Sourcepub const fn rule_count(&self) -> usize
pub const fn rule_count(&self) -> usize
Number of rules in this policy.
Trait Implementations§
Auto Trait Implementations§
impl<const N: usize> Freeze for InstructionPolicy<N>
impl<const N: usize> RefUnwindSafe for InstructionPolicy<N>
impl<const N: usize> Send for InstructionPolicy<N>
impl<const N: usize> Sync for InstructionPolicy<N>
impl<const N: usize> Unpin for InstructionPolicy<N>
impl<const N: usize> UnsafeUnpin for InstructionPolicy<N>
impl<const N: usize> UnwindSafe for InstructionPolicy<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more