mpc
Haskell-like feature supports in C++
|
Implementation details are here. More...
Classes | |
struct | append_op |
struct | bind_op |
bind :: forall a b. m a -> (a -> m b) -> m b More... | |
struct | clone_const |
Clones the const qualifier. More... | |
struct | clone_cv |
Clones cv qualifiers. More... | |
struct | clone_cvref |
Clones cv and reference qualifiers. More... | |
struct | clone_reference |
Clones the reference qualifier. More... | |
struct | clone_volatile |
Clones the volatile qualifier. More... | |
struct | combine_op |
combine :: f a -> f a -> f a More... | |
struct | compose_op |
struct | cons_op |
struct | constant_op |
struct | copy_const |
Copies the const qualifier. More... | |
struct | copy_cv |
Copies cv qualifiers. More... | |
struct | copy_cvref |
Copies cv and reference qualifiers. More... | |
struct | copy_reference |
Copies the reference qualifier. More... | |
struct | copy_volatile |
Copies the volatile qualifier. More... | |
struct | discard1st_op |
discard1st :: f a -> f b -> f b More... | |
struct | discard2nd_op |
discard2nd :: f a -> f b -> f a More... | |
struct | empty_op |
empty :: f a More... | |
struct | eval_State_op |
struct | eval_StateT_op |
struct | exec_State_op |
struct | exec_StateT_op |
struct | flip_op |
struct | fmap_op |
fmap :: (a -> b) -> f a -> f b More... | |
struct | foldr_op |
struct | gets_op |
gets :: m s More... | |
struct | getss_op |
getss :: MonadState s m => (s -> a) -> m a More... | |
struct | is_either_impl |
struct | is_either_impl< either< T, U > > |
struct | is_explicitly_convertible |
is_explicitly_convertible More... | |
struct | is_explicitly_convertible< From, To, std::void_t< decltype(To(std::declval< From >()))> > |
A partial specialization of is_explicitly_convertible. More... | |
struct | is_Identity_impl |
struct | is_Identity_impl< Identity< T > > |
struct | is_implicitly_convertible |
is_implicitly_convertible More... | |
struct | is_implicitly_default_constructible |
is_implicitly_default_constructible More... | |
struct | is_list_impl |
struct | is_list_impl< std::list< T, Alloc > > |
struct | is_maybe_impl |
struct | is_maybe_impl< maybe< T > > |
struct | is_State_impl |
struct | is_State_impl< StateT< S, M > > |
struct | is_StateT_impl |
struct | is_StateT_impl< StateT< S, M > > |
struct | isalnum_op |
struct | isalpha_op |
struct | isblank_op |
struct | iscntrl_op |
struct | isdigit_op |
struct | isgraph_op |
struct | islower_op |
struct | isprint_op |
struct | ispunct_op |
struct | isspace_op |
struct | isupper_op |
struct | isxdigit_op |
struct | karrow_op |
karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) More... | |
struct | lift_op |
lift :: (Monad m) => m a -> t m a More... | |
struct | liftA2_op |
liftA2 :: (a -> b -> c) -> f a -> f b -> f c More... | |
struct | liftA_op |
liftA :: Applicative f => (a -> b -> ... -> z) -> f a -> f b -> ... -> f z More... | |
struct | liftA_op< N, std::index_sequence< Idx... > > |
A partial specialization of liftA. More... | |
struct | make_Identity_op |
struct | make_State_op |
struct | make_StateT_op |
struct | map_State_op |
struct | map_StateT_op |
struct | modify_op |
modify :: MonadState s m => (s -> s) -> m () More... | |
struct | pure_op |
pure :: a -> f a More... | |
struct | put_op |
put :: s -> m () More... | |
struct | replace2nd_op |
replace2nd :: a -> f b -> f a More... | |
struct | run_Identity_op |
struct | run_State_op |
struct | run_StateT_op |
struct | seq_apply_op |
seq_apply :: f (a -> b) -> f a -> f b More... | |
struct | sequence_op |
struct | state_op |
state :: (s -> (a, s)) -> m a More... | |
struct | StateT_alternative_traits_combine |
struct | StateT_alternative_traits_combine< ST > |
struct | StateT_alternative_traits_empty |
struct | StateT_alternative_traits_empty< ST > |
struct | tagged_union_impl |
struct | tagged_union_impl< std::index_sequence< Idx... >, Args... > |
struct | uncons_op |
struct | with_StateT_op |
Concepts | |
concept | has_alternative_traits_empty |
has_alternative_traits_empty | |
concept | has_alternative_traits_combine |
has_alternative_traits_combine | |
Typedefs | |
template<std::size_t N> | |
using | make_reversed_index_sequence = decltype(reversed_index_sequence_impl(std::make_index_sequence< N >{})) |
make_reversed_index_sequence | |
template<class From , class To > | |
using | copy_const_t = typename copy_const< From, To >::type |
A helper alias template for copy_const. | |
template<class From , class To > | |
using | clone_const_t = typename clone_const< From, To >::type |
A helper alias template for clone_const. | |
template<class From , class To > | |
using | copy_volatile_t = typename copy_volatile< From, To >::type |
A helper alias template for copy_volatile. | |
template<class From , class To > | |
using | clone_volatile_t = typename clone_volatile< From, To >::type |
A helper alias template for clone_volatile. | |
template<class From , class To > | |
using | copy_cv_t = typename copy_cv< From, To >::type |
A helper alias template for copy_cv. | |
template<class From , class To > | |
using | clone_cv_t = typename clone_cv< From, To >::type |
A helper alias template for clone_cv. | |
template<class From , class To > | |
using | copy_reference_t = typename copy_reference< From, To >::type |
A helper alias template for copy_reference. | |
template<class From , class To > | |
using | clone_reference_t = typename clone_reference< From, To >::type |
A helper alias template for clone_reference. | |
template<class From , class To > | |
using | copy_cvref_t = typename copy_cvref< From, To >::type |
A helper alias template for copy_cvref. | |
template<class From , class To > | |
using | clone_cvref_t = typename clone_cvref< From, To >::type |
A helper alias template for clone_cvref. | |
Variables | |
const auto | alnum = satisfy % mpc::isalnum or left % "expecting alnum"s |
const auto | alpha = satisfy % mpc::isalpha or left % "expecting alpha"s |
const auto | lower = satisfy % mpc::islower or left % "expecting lower"s |
const auto | upper = satisfy % mpc::isupper or left % "expecting upper"s |
const auto | digit = satisfy % mpc::isdigit or left % "expecting digit"s |
const auto | xdigit = satisfy % mpc::isxdigit or left % "expecting xdigit"s |
const auto | cntrl = satisfy % mpc::iscntrl or left % "expecting cntrl"s |
const auto | graph = satisfy % mpc::isgraph or left % "expecting graph"s |
const auto | space = satisfy % mpc::isspace or left % "expecting space"s |
const auto | blank = satisfy % mpc::isblank or left % "expecting blank"s |
const auto | print = satisfy % mpc::isprint or left % "expecting print"s |
const auto | punct = satisfy % mpc::ispunct or left % "expecting punct"s |
const auto | any_char = satisfy % (constant % true) |
template<class T > | |
constexpr bool | is_implicitly_default_constructible_v |
A helper inline variable for is_implicitly_default_constructible. More... | |
template<class From , class To > | |
constexpr bool | is_explicitly_convertible_v = is_explicitly_convertible<From, To>::value |
A helper inline variable for is_explicitly_convertible. | |
template<class From , class To > | |
constexpr bool | is_implicitly_convertible_v = is_implicitly_convertible<From, To>::value |
A helper inline variable for is_implicitly_convertible. | |
Implementation details are here.
instance (Functor m, MonadPlus m) => Alternative (StateT s m) where empty = StateT $ (_ -> mzero) StateT m <|> StateT n = StateT $ s -> m s mplus
n s
|
inlineconstexpr |
A helper inline variable for is_implicitly_default_constructible.