|
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.