Struct vtil_parser::RegisterFlags [−][src]
pub struct RegisterFlags { /* fields omitted */ }Flags describing register properties
Implementations
impl RegisterFlags[src]
impl RegisterFlags[src]pub const VIRTUAL: RegisterFlags[src]
Default value if no flags set. Read/write pure virtual register that is not a stack pointer or flags
pub const PHYSICAL: RegisterFlags[src]
Indicates that the register is a physical register
pub const LOCAL: RegisterFlags[src]
Indicates that the register is a local temporary register of the current basic block
pub const FLAGS: RegisterFlags[src]
Indicates that the register is used to hold CPU flags
pub const STACK_POINTER: RegisterFlags[src]
Indicates that the register is used as the stack pointer
pub const IMAGE_BASE: RegisterFlags[src]
Indicates that the register is an alias to the image base
pub const VOLATILE: RegisterFlags[src]
Indicates that the register can change spontanously (e.g.: IA32_TIME_STAMP_COUNTER)
pub const READONLY: RegisterFlags[src]
Indicates that the register can change spontanously (e.g.: IA32_TIME_STAMP_COUNTER)
pub const UNDEFINED: RegisterFlags[src]
Indicates that it is the special “undefined” register
pub const INTERNAL: RegisterFlags[src]
Indicates that it is a internal-use register that should be treated like any other virtual register
pub const SPECIAL: RegisterFlags[src]
Combined mask of all special registers
pub const fn empty() -> RegisterFlags[src]
Returns an empty set of flags
pub const fn all() -> RegisterFlags[src]
Returns the set containing all flags.
pub const fn bits(&self) -> u64[src]
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u64) -> Option<RegisterFlags>[src]
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u64) -> RegisterFlags[src]
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u64) -> RegisterFlags[src]
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn is_empty(&self) -> bool[src]
Returns true if no flags are currently stored.
pub const fn is_all(&self) -> bool[src]
Returns true if all flags are currently set.
pub const fn intersects(&self, other: RegisterFlags) -> bool[src]
Returns true if there are flags common to both self and other.
pub const fn contains(&self, other: RegisterFlags) -> bool[src]
Returns true all of the flags in other are contained within self.
pub fn insert(&mut self, other: RegisterFlags)[src]
Inserts the specified flags in-place.
pub fn remove(&mut self, other: RegisterFlags)[src]
Removes the specified flags in-place.
pub fn toggle(&mut self, other: RegisterFlags)[src]
Toggles the specified flags in-place.
pub fn set(&mut self, other: RegisterFlags, value: bool)[src]
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl BitAnd<RegisterFlags> for RegisterFlags[src]
impl BitAnd<RegisterFlags> for RegisterFlags[src]type Output = RegisterFlags
The resulting type after applying the & operator.
fn bitand(self, other: RegisterFlags) -> RegisterFlags[src]
Returns the intersection between the two sets of flags.
impl BitAndAssign<RegisterFlags> for RegisterFlags[src]
impl BitAndAssign<RegisterFlags> for RegisterFlags[src]fn bitand_assign(&mut self, other: RegisterFlags)[src]
Disables all flags disabled in the set.
impl BitOr<RegisterFlags> for RegisterFlags[src]
impl BitOr<RegisterFlags> for RegisterFlags[src]type Output = RegisterFlags
The resulting type after applying the | operator.
fn bitor(self, other: RegisterFlags) -> RegisterFlags[src]
Returns the union of the two sets of flags.
impl BitOrAssign<RegisterFlags> for RegisterFlags[src]
impl BitOrAssign<RegisterFlags> for RegisterFlags[src]fn bitor_assign(&mut self, other: RegisterFlags)[src]
Adds the set of flags.
impl BitXor<RegisterFlags> for RegisterFlags[src]
impl BitXor<RegisterFlags> for RegisterFlags[src]type Output = RegisterFlags
The resulting type after applying the ^ operator.
fn bitxor(self, other: RegisterFlags) -> RegisterFlags[src]
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign<RegisterFlags> for RegisterFlags[src]
impl BitXorAssign<RegisterFlags> for RegisterFlags[src]fn bitxor_assign(&mut self, other: RegisterFlags)[src]
Toggles the set of flags.
impl Clone for RegisterFlags[src]
impl Clone for RegisterFlags[src]fn clone(&self) -> RegisterFlags[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for RegisterFlags[src]
impl Copy for RegisterFlags[src]impl Eq for RegisterFlags[src]
impl Eq for RegisterFlags[src]impl Extend<RegisterFlags> for RegisterFlags[src]
impl Extend<RegisterFlags> for RegisterFlags[src]fn extend<T: IntoIterator<Item = RegisterFlags>>(&mut self, iterator: T)[src]
pub fn extend_one(&mut self, item: A)[src]
pub fn extend_reserve(&mut self, additional: usize)[src]
impl FromIterator<RegisterFlags> for RegisterFlags[src]
impl FromIterator<RegisterFlags> for RegisterFlags[src]fn from_iter<T: IntoIterator<Item = RegisterFlags>>(
iterator: T
) -> RegisterFlags[src]
iterator: T
) -> RegisterFlags
impl Hash for RegisterFlags[src]
impl Hash for RegisterFlags[src]impl Not for RegisterFlags[src]
impl Not for RegisterFlags[src]type Output = RegisterFlags
The resulting type after applying the ! operator.
fn not(self) -> RegisterFlags[src]
Returns the complement of this set of flags.
impl Ord for RegisterFlags[src]
impl Ord for RegisterFlags[src]impl PartialEq<RegisterFlags> for RegisterFlags[src]
impl PartialEq<RegisterFlags> for RegisterFlags[src]fn eq(&self, other: &RegisterFlags) -> bool[src]
fn ne(&self, other: &RegisterFlags) -> bool[src]
impl PartialOrd<RegisterFlags> for RegisterFlags[src]
impl PartialOrd<RegisterFlags> for RegisterFlags[src]fn partial_cmp(&self, other: &RegisterFlags) -> Option<Ordering>[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl StructuralEq for RegisterFlags[src]
impl StructuralEq for RegisterFlags[src]impl StructuralPartialEq for RegisterFlags[src]
impl StructuralPartialEq for RegisterFlags[src]impl Sub<RegisterFlags> for RegisterFlags[src]
impl Sub<RegisterFlags> for RegisterFlags[src]type Output = RegisterFlags
The resulting type after applying the - operator.
fn sub(self, other: RegisterFlags) -> RegisterFlags[src]
Returns the set difference of the two sets of flags.
impl SubAssign<RegisterFlags> for RegisterFlags[src]
impl SubAssign<RegisterFlags> for RegisterFlags[src]fn sub_assign(&mut self, other: RegisterFlags)[src]
Disables all flags enabled in the set.
Auto Trait Implementations
impl RefUnwindSafe for RegisterFlags
impl RefUnwindSafe for RegisterFlagsimpl Send for RegisterFlags
impl Send for RegisterFlagsimpl Sync for RegisterFlags
impl Sync for RegisterFlagsimpl Unpin for RegisterFlags
impl Unpin for RegisterFlagsimpl UnwindSafe for RegisterFlags
impl UnwindSafe for RegisterFlags