monster 0.1.28

Collection of random utilities
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
/// Returns `None` if `pred` is `false`, otherwise
/// it returns `Some(result_of_calling_f)`.
///
/// # Example
/// ```
/// use monster::incubation::some_if;
/// assert_eq!(some_if(false, || 42), None    );
/// assert_eq!(some_if(true , || 42), Some(42));
/// ```
pub fn some_if<T, F: FnOnce() -> T>(pred: bool, f: F) -> Option<T> {
    if pred { Some(f()) }
    else { None }
}