Trait boolinator::Boolinator [] [src]

pub trait Boolinator: Sized {
    fn as_option(self) -> Option<()>;
    fn as_some<T>(self, some: T) -> Option<T>;
    fn as_some_from<T, F>(self, some: F) -> Option<T> where F: FnOnce() -> T;
    fn and_option<T>(self, opt: Option<T>) -> Option<T>;
    fn and_option_from<T, F>(self, opt: F) -> Option<T> where F: FnOnce() -> Option<T>;
    fn as_result<T, E>(self, ok: T, err: E) -> Result<T, E>;
    fn as_result_from<T, E, F, G>(self, ok: F, err: G) -> Result<T, E> where F: FnOnce() -> T, G: FnOnce() -> E;
    fn expect(self, msg: &str);
}

This trait defines a number of combinator-style methods for use with bool values.

In general, true/false map to Some(_)/None and Ok(_)/Err(_) respectively.

Required Methods

fn as_option(self) -> Option<()>

Converts this value into a logically equivalent Some(()) or None.

fn as_some<T>(self, some: T) -> Option<T>

If this value is true, returns Some(some); None otherwise.

fn as_some_from<T, F>(self, some: F) -> Option<T> where F: FnOnce() -> T

If this value is true, returns Some(some()); None otherwise.

fn and_option<T>(self, opt: Option<T>) -> Option<T>

If this value is true, returns opt; None otherwise.

fn and_option_from<T, F>(self, opt: F) -> Option<T> where F: FnOnce() -> Option<T>

If this value is true, returns opt(); None otherwise.

fn as_result<T, E>(self, ok: T, err: E) -> Result<T, E>

If this value is true, returns Ok(ok); Err(err) otherwise.

fn as_result_from<T, E, F, G>(self, ok: F, err: G) -> Result<T, E> where F: FnOnce() -> T, G: FnOnce() -> E

If this value is true, returns Ok(ok()); Err(err()) otherwise.

fn expect(self, msg: &str)

Panics with msg if this value is false, otherwise it does nothing.

Implementors