Trait libafl::common::HasNamedMetadata

source ·
pub trait HasNamedMetadata {
    // Required methods
    fn named_metadata_map(&self) -> &NamedSerdeAnyMap;
    fn named_metadata_map_mut(&mut self) -> &mut NamedSerdeAnyMap;

    // Provided methods
    fn add_named_metadata<M>(&mut self, name: &str, meta: M)
       where M: SerdeAny { ... }
    fn remove_named_metadata<M>(&mut self, name: &str) -> Option<Box<M>>
       where M: SerdeAny { ... }
    fn named_metadata_or_insert_with<M>(
        &mut self,
        name: &str,
        default: impl FnOnce() -> M
    ) -> &mut M
       where M: SerdeAny { ... }
    fn has_named_metadata<M>(&self, name: &str) -> bool
       where M: SerdeAny { ... }
    fn named_metadata<M>(&self, name: &str) -> Result<&M, Error>
       where M: SerdeAny { ... }
    fn named_metadata_mut<M>(&mut self, name: &str) -> Result<&mut M, Error>
       where M: SerdeAny { ... }
}
Expand description

Trait for elements offering named metadata

Required Methods§

source

fn named_metadata_map(&self) -> &NamedSerdeAnyMap

A map, storing all metadata

source

fn named_metadata_map_mut(&mut self) -> &mut NamedSerdeAnyMap

A map, storing all metadata (mutable)

Provided Methods§

source

fn add_named_metadata<M>(&mut self, name: &str, meta: M)
where M: SerdeAny,

Add a metadata to the metadata map

source

fn remove_named_metadata<M>(&mut self, name: &str) -> Option<Box<M>>
where M: SerdeAny,

Add a metadata to the metadata map

source

fn named_metadata_or_insert_with<M>( &mut self, name: &str, default: impl FnOnce() -> M ) -> &mut M
where M: SerdeAny,

Gets metadata, or inserts it using the given construction function default

source

fn has_named_metadata<M>(&self, name: &str) -> bool
where M: SerdeAny,

Check for a metadata

§Note

You likely want to use Self::named_metadata_or_insert_with for performance reasons.

source

fn named_metadata<M>(&self, name: &str) -> Result<&M, Error>
where M: SerdeAny,

To get named metadata

source

fn named_metadata_mut<M>(&mut self, name: &str) -> Result<&mut M, Error>
where M: SerdeAny,

To get mutable named metadata

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<I, C, R, SC> HasNamedMetadata for StdState<I, C, R, SC>