libkazv
promise-interface.hpp File Reference
#include <memory>
#include <type_traits>
#include <functional>
Include dependency graph for promise-interface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Kazv::TypelessPromise
 
class  Kazv::AbstractPromise< DeriveT, T >
 
struct  Kazv::PromiseCombination::DefaultForPromiseT< T, class >
 
struct  Kazv::PromiseCombination::DefaultForPromiseT< T, std::void_t< decltype(createDefaultForPromiseThen(std::declval< T >()))> >
 
class  Kazv::SingleTypePromise< T >
 
class  Kazv::PromiseInterface< DeriveT, PromiseT >
 
class  Kazv::SingleTypePromiseInterface< T >
 

Namespaces

 Kazv
 
 Kazv::detail
 
 Kazv::PromiseCombination
 

Typedefs

template<class T >
using Kazv::detail::PromiseParameter = typename PromiseParameterT< T >::type
 
template<class T >
using Kazv::detail::PromiseResultT = typename PromiseResult< T >::type
 
template<class T , class P >
using Kazv::PromiseThenResult = typename detail::PromiseThenResultT< T, P >::type
 
using Kazv::BoolPromise = SingleTypePromise< bool >
 
using Kazv::BoolPromiseInterface = SingleTypePromiseInterface< bool >
 

Functions

constexpr bool Kazv::PromiseCombination::createDefaultForPromiseThen (bool)
 
constexpr bool Kazv::PromiseCombination::dataCombine (bool a, bool b)
 
constexpr bool Kazv::PromiseCombination::dataCombineNone (bool)
 
template<class T >
constexpr T Kazv::PromiseCombination::defaultForPromiseThen (T)
 

Variables

template<class T >
constexpr auto Kazv::isPromise = std::is_base_of_v<TypelessPromise, T>