mpc
Haskell-like feature supports in C++
mpc::StateT< S, M > Struct Template Reference

newtype StateT s m a = StateT { runStateT :: s -> m (a,s) } More...

#include <stateT.hpp>

Inheritance diagram for mpc::StateT< S, M >:
mpc::Identity< mpc::function< M(S)> >

Public Types

using state_type = S
 
using monad_type = M
 
- Public Types inherited from mpc::Identity< mpc::function< M(S)> >
using value_type = T
 

Additional Inherited Members

- Public Member Functions inherited from mpc::Identity< mpc::function< M(S)> >
constexpr Identity (U &&u) noexcept(std::is_nothrow_constructible_v< T, U && >)
 
constexpr const T & operator* () const &noexcept
 
constexpr const T && operator* () const &&noexcept
 
constexpr T & operator* () &noexcept
 
constexpr T && operator* () &&noexcept
 
constexpr const T * operator-> () const noexcept
 
constexpr T * operator-> () noexcept
 

Detailed Description

template<class S, monad M>
struct mpc::StateT< S, M >

newtype StateT s m a = StateT { runStateT :: s -> m (a,s) }


The documentation for this struct was generated from the following file: