HandEvaluator

Trait HandEvaluator 

Source
pub trait HandEvaluator<T> {
    // Required method
    fn eval(&self, hand: Hand) -> T;

    // Provided method
    fn eval_pair(&self, pair: [Hand; 2]) -> T
       where T: Add<Output = T> { ... }
}
Expand description

Trait for hand evaluators

Required Methods§

Source

fn eval(&self, hand: Hand) -> T

Evaluate a hand

Provided Methods§

Source

fn eval_pair(&self, pair: [Hand; 2]) -> T
where T: Add<Output = T>,

Evaluate a pair

Implementors§

Source§

impl<F: Fn(Hand) -> T, T> HandEvaluator<T> for F

Functions are natural evaluators

Source§

impl<T: Sum, F: Fn(Holding) -> T> HandEvaluator<T> for SimpleEvaluator<T, F>