pub trait MapObserver: HasLen + Named + Serialize + DeserializeOwned + Debug {
type Entry: Bounded + PartialEq + Default + Copy + Debug + 'static;
fn get(&self, idx: usize) -> &Self::Entry;
fn get_mut(&mut self, idx: usize) -> &mut Self::Entry;
fn usable_count(&self) -> usize;
fn count_bytes(&self) -> u64;
fn hash(&self) -> u64;
fn initial(&self) -> Self::Entry;
fn initial_mut(&mut self) -> &mut Self::Entry;
fn reset_map(&mut self) -> Result<(), Error>;
fn to_vec(&self) -> Vec<Self::Entry>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
;
fn how_many_set(&self, indexes: &[usize]) -> usize;
fn set_initial(&mut self, initial: Self::Entry) { ... }
}
Expand description
A MapObserver
observes the static map, as oftentimes used for AFL-like coverage information
TODO: enforce iter() -> AssociatedTypeIter
when generic associated types stabilize
Required Associated Types
Required Methods
sourcefn usable_count(&self) -> usize
fn usable_count(&self) -> usize
Get the number of usable entries in the map (all by default)
sourcefn count_bytes(&self) -> u64
fn count_bytes(&self) -> u64
Count the set bytes in the map
sourcefn initial_mut(&mut self) -> &mut Self::Entry
fn initial_mut(&mut self) -> &mut Self::Entry
Get the initial value for reset() (mutable)
sourcefn to_vec(&self) -> Vec<Self::Entry>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn to_vec(&self) -> Vec<Self::Entry>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Get these observer’s contents as Vec
sourcefn how_many_set(&self, indexes: &[usize]) -> usize
fn how_many_set(&self, indexes: &[usize]) -> usize
Get the number of set entries with the specified indexes
Provided Methods
sourcefn set_initial(&mut self, initial: Self::Entry)
fn set_initial(&mut self, initial: Self::Entry)
Set the initial value for reset()