pub trait Boolinator {
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 ok_or<E>(self, err: E) -> Result<(), E>;
fn ok_or_else<E, G>(self, err: G) -> Result<(), E>
where
G: FnOnce() -> E;
fn expect(self, msg: &str);
}Expand description
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_some_from<T, F>(self, some: F) -> Option<T> where
F: FnOnce() -> T,
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>
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>,
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.
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,
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.
If this value is true, returns Ok(()); Err(err) otherwise.
fn ok_or_else<E, G>(self, err: G) -> Result<(), E> where
G: FnOnce() -> E,
fn ok_or_else<E, G>(self, err: G) -> Result<(), E> where
G: FnOnce() -> E,
If this value is true, returns Ok(()); Err(err()) otherwise.