|
template<typename T> |
Success< T > | mtcore::success (const T &v) |
| Creates a successful Result.
|
|
Success< void > | mtcore::success () |
| Creates a successful void Result object.
|
|
template<typename Underlying> |
Error< Underlying > | mtcore::error (Underlying err) |
| Creates an error.
|
|
template<typename Success, typename Acc, typename F, Iterable I, typename Err = typename decltype(std::declval<F>()( std::declval<std::remove_const_t<typename decltype(std::declval<I>().iter())::IterElem>>()))::Err> |
Result< Success, Err > | mtcore::results::accumulate (Success initial, const Acc &acc, const F &func, const I &iterable) |
| Chains together the execution of an errorable function on a list of arguments If an error is encountered, execution will stop and immediately return No Result value is returned Useful for performing side effects.
|
|
template<typename F, Iterable I, typename Err = typename decltype(std::declval<F>()( std::declval<std::remove_const_t<typename decltype(std::declval<I>().iter())::IterElem>>()))::Err> |
Result< void, Err > | mtcore::results::foreach (const F &func, const I &iterable) |
| Chains together the execution of an errorable function on a list of arguments If an error is encountered, execution will stop and immediately return No Result value is returned Useful for performing side effects.
|
|
template<typename F, typename... Args, typename Err = typename decltype(std::declval<F>()(std::declval<typename impl::FirstVariadic<Args...>::Type>()))::Err> |
Result< void, Err > | mtcore::results::chain (const F &func, const Args &...args) |
| Chains together the execution of an errorable function on a list of arguments If an error is encountered, execution will stop and immediately return No Result value is returned Useful for performing side effects.
|
|
template<typename Success, typename Acc, typename F, typename... Args, typename Err = typename decltype(std::declval<F>()(std::declval<typename impl::FirstVariadic<Args...>::Type>()))::Err> |
Result< Success, Err > | mtcore::results::reduce (Success initVal, const Acc &acc, const F &func, const Args &...args) |
| Reduces arguments with errorable function If an error is encountered, execution will stop and immediately return The accumulated Result will be what's returned on success Useful for reduction/mapping.
|
|
template<typename F, typename... Args, typename Out = typename decltype(std::declval<F>()(std::declval<typename impl::FirstVariadic<Args...>::Type>()))::Value, typename Err = typename decltype(std::declval<F>()(std::declval<typename impl::FirstVariadic<Args...>::Type>()))::Err> |
auto | mtcore::results::map (const F &func, const Args &...args) |
| Maps values with function that may error.
|
|