pub struct LoggingHook {
pub mutations: Arc<Mutex<Vec<MutationRecord>>>,
pub crossovers: Arc<Mutex<Vec<CrossoverRecord>>>,
pub selections: Arc<Mutex<Vec<SelectionRecord>>>,
}Expand description
A hook that logs all evolutionary operations
Fields§
§mutations: Arc<Mutex<Vec<MutationRecord>>>Mutation records
crossovers: Arc<Mutex<Vec<CrossoverRecord>>>Crossover records
selections: Arc<Mutex<Vec<SelectionRecord>>>Selection records
Implementations§
Source§impl LoggingHook
impl LoggingHook
Sourcepub fn get_mutations(&self) -> Vec<MutationRecord>
pub fn get_mutations(&self) -> Vec<MutationRecord>
Get all mutation records
Sourcepub fn get_crossovers(&self) -> Vec<CrossoverRecord>
pub fn get_crossovers(&self) -> Vec<CrossoverRecord>
Get all crossover records
Sourcepub fn get_selections(&self) -> Vec<SelectionRecord>
pub fn get_selections(&self) -> Vec<SelectionRecord>
Get all selection records
Trait Implementations§
Source§impl Clone for LoggingHook
impl Clone for LoggingHook
Source§fn clone(&self) -> LoggingHook
fn clone(&self) -> LoggingHook
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CrossoverHook for LoggingHook
impl CrossoverHook for LoggingHook
Source§fn before_crossover(
&self,
_parent1: &Trace,
_parent2: &Trace,
_generation: usize,
) -> bool
fn before_crossover( &self, _parent1: &Trace, _parent2: &Trace, _generation: usize, ) -> bool
Called before crossover is applied.
Returns true if crossover should proceed, false to skip.
Source§fn after_crossover(
&self,
_parent1: &Trace,
_parent2: &Trace,
_child1: &Trace,
_child2: &Trace,
record: &CrossoverRecord,
)
fn after_crossover( &self, _parent1: &Trace, _parent2: &Trace, _child1: &Trace, _child2: &Trace, record: &CrossoverRecord, )
Called after crossover is applied
Source§impl Debug for LoggingHook
impl Debug for LoggingHook
Source§impl Default for LoggingHook
impl Default for LoggingHook
Source§fn default() -> LoggingHook
fn default() -> LoggingHook
Returns the “default value” for a type. Read more
Source§impl MutationHook for LoggingHook
impl MutationHook for LoggingHook
Source§fn before_mutation(&self, _trace: &Trace, _generation: usize) -> bool
fn before_mutation(&self, _trace: &Trace, _generation: usize) -> bool
Called before mutation is applied.
Returns true if mutation should proceed, false to skip.
Source§fn after_mutation(
&self,
_original: &Trace,
_mutated: &Trace,
record: &MutationRecord,
)
fn after_mutation( &self, _original: &Trace, _mutated: &Trace, record: &MutationRecord, )
Called after mutation is applied
Source§fn modify_sites(
&self,
sites: HashSet<Address>,
_trace: &Trace,
) -> HashSet<Address>
fn modify_sites( &self, sites: HashSet<Address>, _trace: &Trace, ) -> HashSet<Address>
Optionally modify the mutation sites before mutation occurs
Source§impl SelectionHook for LoggingHook
impl SelectionHook for LoggingHook
Source§fn before_selection(&self, _population_size: usize, _generation: usize)
fn before_selection(&self, _population_size: usize, _generation: usize)
Called before selection
Source§fn after_selection(&self, record: &SelectionRecord)
fn after_selection(&self, record: &SelectionRecord)
Called after selection
Auto Trait Implementations§
impl Freeze for LoggingHook
impl RefUnwindSafe for LoggingHook
impl Send for LoggingHook
impl Sync for LoggingHook
impl Unpin for LoggingHook
impl UnsafeUnpin for LoggingHook
impl UnwindSafe for LoggingHook
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.