LeechCraft  0.6.70-13729-g7046a9d2a7
Modular cross-platform feature rich live environment.
either.h File Reference
#include <variant>
#include <optional>
#include <type_traits>
#include "functor.h"
#include "applicative.h"
#include "monad.h"
#include "visitor.h"
+ Include dependency graph for either.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LC::Util::Either< L, R >
 
struct  LC::Util::InstanceFunctor< Either< L, R > >
 
struct  LC::Util::InstanceApplicative< Either< L, R > >
 
struct  LC::Util::InstanceApplicative< Either< L, R > >::GSLResult< typename >
 
struct  LC::Util::InstanceApplicative< Either< L, R > >::GSLResult< Either< L, V > >
 
struct  LC::Util::InstanceMonad< Either< L, R > >
 

Namespaces

 LC
 
 LC::Util
 

Functions

template<typename L , typename R , typename F , typename = std::result_of_t<F ()>>
LC::Util::RightOr (const Either< L, R > &either, F &&f)
 
template<typename L , typename R >
LC::Util::RightOr (const Either< L, R > &either, const R &r)
 
template<template< typename > class Cont, typename L , typename R >
std::pair< Cont< L >, Cont< R > > LC::Util::PartitionEithers (const Cont< Either< L, R >> &eithers)
 
template<typename Left , typename Right , typename... Args>
auto LC::Util::Visit (const Either< Left, Right > &either, Args &&... args)