Kagome
Polkadot Runtime Engine in C++17
monadic_utils.hpp File Reference
#include <optional>
#include <type_traits>
#include "outcome/outcome.hpp"
Include dependency graph for monadic_utils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 kagome::common
 

Functions

template<typename T , typename F , typename R = std::invoke_result_t<F, const T &>>
std::optional< R > kagome::common::map_optional (std::optional< T > const &opt, F const &f)
 
template<typename T , typename F , typename R = std::invoke_result_t<F, T &&>>
std::optional< R > kagome::common::map_optional (std::optional< T > &&opt, F const &f)
 
template<typename T , typename F , typename R = std::invoke_result_t<F, const T &>>
outcome::result< R > kagome::common::map_result (outcome::result< T > const &res, F const &f)
 
template<typename T , typename F , typename R = std::invoke_result_t<F, T &&>>
outcome::result< R > kagome::common::map_result (outcome::result< T > &&res, F const &f)
 
template<typename T , typename F , typename R = std::invoke_result_t<F, T const &>>
outcome::result< std::optional< R > > kagome::common::map_result_optional (outcome::result< std::optional< T >> const &res_opt, F const &f)
 
template<typename T , typename F , typename R = std::invoke_result_t<F, T &&>>
outcome::result< std::optional< R > > kagome::common::map_result_optional (outcome::result< std::optional< T >> &&res_opt, F const &f)