pub struct TreeCodex<T>{
pub factory: Rc<RefCell<NodeFactory<T>>>,
pub nodes: Vec<Node<T>>,
}Expand description
A codex for encoding and decoding a tree structure.
Fields§
§factory: Rc<RefCell<NodeFactory<T>>>§nodes: Vec<Node<T>>Implementations§
Trait Implementations§
Source§impl<T> Codex<NodeChromosome<T>, Tree<T>> for TreeCodex<T>
impl<T> Codex<NodeChromosome<T>, Tree<T>> for TreeCodex<T>
fn encode(&self) -> Genotype<NodeChromosome<T>>
fn decode(&self, genotype: &Genotype<NodeChromosome<T>>) -> Tree<T>
Source§fn spawn(&self, num: usize) -> Vec<T>
fn spawn(&self, num: usize) -> Vec<T>
Spawn a new instance of
T from the Codex. This will encode num new Genotypes and then
decode it to a new instance of T.Source§fn spawn_genotypes(&self, num: usize) -> Vec<Genotype<C>>
fn spawn_genotypes(&self, num: usize) -> Vec<Genotype<C>>
Spawn a new instance of
Genotype<G, A> from the Codex. This will encode num a new Genotypes.Source§fn spawn_population(&self, num: usize) -> Population<C>
fn spawn_population(&self, num: usize) -> Population<C>
Spawn a new instance of
Population<G, A> from the Codex. This will encode num a new GenotypesAuto Trait Implementations§
impl<T> Freeze for TreeCodex<T>
impl<T> !RefUnwindSafe for TreeCodex<T>
impl<T> !Send for TreeCodex<T>
impl<T> !Sync for TreeCodex<T>
impl<T> Unpin for TreeCodex<T>where
T: Unpin,
impl<T> !UnwindSafe for TreeCodex<T>
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> 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