pub struct LoggingHandler {
pub mutations: Arc<Mutex<Vec<MutationRecord>>>,
pub crossovers: Arc<Mutex<Vec<CrossoverRecord>>>,
pub selections: Arc<Mutex<Vec<SelectionRecord>>>,
}Expand description
A handler 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 LoggingHandler
impl LoggingHandler
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 LoggingHandler
impl Clone for LoggingHandler
Source§fn clone(&self) -> LoggingHandler
fn clone(&self) -> LoggingHandler
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CrossoverHandler for LoggingHandler
impl CrossoverHandler for LoggingHandler
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 LoggingHandler
impl Debug for LoggingHandler
Source§impl Default for LoggingHandler
impl Default for LoggingHandler
Source§fn default() -> LoggingHandler
fn default() -> LoggingHandler
Returns the “default value” for a type. Read more
Source§impl MutationHandler for LoggingHandler
impl MutationHandler for LoggingHandler
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 SelectionHandler for LoggingHandler
impl SelectionHandler for LoggingHandler
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 LoggingHandler
impl RefUnwindSafe for LoggingHandler
impl Send for LoggingHandler
impl Sync for LoggingHandler
impl Unpin for LoggingHandler
impl UnsafeUnpin for LoggingHandler
impl UnwindSafe for LoggingHandler
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.