![]() |
LeechCraft 0.6.70-17335-ge406ffdcaf
Modular cross-platform feature rich live environment.
|
Implementation of the Functor class for std::optional. More...
#include "functor.h"
Public Types | |
template<typename F> | |
using | FmapResult_t = std::optional<detail::WrapVoidResult_t<std::decay_t<std::invoke_result_t<F, T>>>> |
using | UndefinedTag |
using | FmapResult_t |
The type of the functor after its elements were mapped by the function F. | |
Static Public Member Functions | |
template<typename F> | |
static FmapResult_t< F > | Apply (const std::optional< T > &t, const F &f) |
static FmapResult_t< F > | Apply (const T &functor, const F &function) |
Applies the function to the each of the elements inside the functor. | |
Implementation of the Functor class for std::optional.
The implementation applies the function to the contents of the std::optional if it's not empty, otherwise it just leaves an empty std::optional.
This is analogous to the Maybe type.
T | The element type contained inside the std::optional. |
using LC::Util::InstanceFunctor< T >::FmapResult_t |
The type of the functor after its elements were mapped by the function F.
This type should correspond to the return type of the Apply() function when passed this functor and a function of type F.
F | The type of the function to apply to the elements inside this functor. |
using LC::Util::InstanceFunctor< std::optional< T > >::FmapResult_t = std::optional<detail::WrapVoidResult_t<std::decay_t<std::invoke_result_t<F, T>>>> |
using LC::Util::InstanceFunctor< T >::UndefinedTag |
|
inlinestatic |
|
static |
Applies the function to the each of the elements inside the functor.
[in] | functor | The functor whose values are subject to function. |
[in] | function | The function that should be applied to the values in the functor. |
F | The type of the function to apply to the elements in the function. |