libkazv
Kazv::detail Namespace Reference

Classes

struct  AddToJsonIfNeededT
 
struct  AddToJsonIfNeededT< std::optional< U > >
 
struct  AddToQueryIfNeededT
 
struct  AddToQueryIfNeededT< std::optional< T > >
 
struct  AddToQueryT
 
struct  AddToQueryT< bool >
 
struct  AddToQueryT< immer::array< T > >
 
struct  AddToQueryT< json >
 
struct  AddToQueryT< std::string >
 
struct  AllTrueT
 
struct  AnyTrueT
 
struct  AsioPromiseHelper
 
struct  ContainerMapT
 
struct  DefaultValT
 
struct  IdentityFunc
 
struct  ImmerPushBackOrInsertT
 
struct  IntoImmerT
 
struct  OutputConfig
 
struct  OutputGroup
 
struct  OutputHelper
 
struct  PromiseParameterT
 
struct  PromiseParameterT< PromiseT, std::void_t< std::enable_if_t< std::is_base_of_v< TypelessPromise, PromiseT >, int > > >
 
struct  PromiseResult
 
struct  PromiseResult< T, std::void_t< std::invoke_result_t< T > > >
 
struct  PromiseThenResultT
 
struct  SimpleFailT
 

Typedefs

template<class T >
using PromiseParameter = typename PromiseParameterT< T >::type
 
template<class T >
using PromiseResultT = typename PromiseResult< T >::type
 
using ClockT = std::chrono::system_clock
 

Enumerations

enum  OutputLevel {
  NONE, ERROR, WARNING, INFO,
  DEBUG
}
 

Functions

std::string toStr (OutputLevel l)
 
template<class T >
std::add_lvalue_reference< T >::type declref () noexcept
 
constexpr auto compose ()
 
template<class F1 , class ... Fs>
constexpr auto compose (F1 &&f1, Fs &&...fs)
 

Variables

constexpr auto hasPushBack
 
constexpr auto hasInsert
 
ImmerPushBackOrInsertT immerPushBackOrInsert {}
 
auto looksLikeImmer
 
constexpr auto isJsonWrap
 
constexpr AllTrueT allTrue {}
 
constexpr AnyTrueT anyTrue {}
 
boost::iostreams::stream< boost::iostreams::null_sink > voidOutputHelper {boost::iostreams::null_sink()}
 
constexpr auto hasEmptyMethod
 

Typedef Documentation

◆ ClockT

using Kazv::detail::ClockT = typedef std::chrono::system_clock

◆ PromiseParameter

template<class T >
using Kazv::detail::PromiseParameter = typedef typename PromiseParameterT<T>::type

◆ PromiseResultT

template<class T >
using Kazv::detail::PromiseResultT = typedef typename PromiseResult<T>::type

Enumeration Type Documentation

◆ OutputLevel

Enumerator
NONE 
ERROR 
WARNING 
INFO 
DEBUG 

Function Documentation

◆ compose() [1/2]

constexpr auto Kazv::detail::compose ( )
constexpr

◆ compose() [2/2]

template<class F1 , class ... Fs>
constexpr auto Kazv::detail::compose ( F1 &&  f1,
Fs &&...  fs 
)
constexpr

◆ declref()

template<class T >
std::add_lvalue_reference<T>::type Kazv::detail::declref ( )
noexcept

◆ toStr()

std::string Kazv::detail::toStr ( OutputLevel  l)

Variable Documentation

◆ allTrue

constexpr AllTrueT Kazv::detail::allTrue {}
constexpr

◆ anyTrue

constexpr AnyTrueT Kazv::detail::anyTrue {}
constexpr

◆ hasEmptyMethod

constexpr auto Kazv::detail::hasEmptyMethod
constexpr
Initial value:
= boost::hana::is_valid(
[](auto t) -> decltype((void)std::declval<typename decltype(t)::type>().empty()) {})

◆ hasInsert

constexpr auto Kazv::detail::hasInsert
constexpr
Initial value:
= boost::hana::is_valid(
[](auto t) -> decltype(
(void)
std::declval<typename decltype(t)::type>().insert(std::declval<typename decltype(t)::type::value_type>())) { })

◆ hasPushBack

constexpr auto Kazv::detail::hasPushBack
constexpr
Initial value:
= boost::hana::is_valid(
[](auto t) -> decltype(
(void)
std::declval<typename decltype(t)::type>().push_back(std::declval<typename decltype(t)::type::value_type>())) { })

◆ immerPushBackOrInsert

ImmerPushBackOrInsertT Kazv::detail::immerPushBackOrInsert {}
inline

◆ isJsonWrap

constexpr auto Kazv::detail::isJsonWrap
constexpr
Initial value:
= boost::hana::is_valid(
[](auto t) -> decltype((void) std::declval<typename decltype(t)::type>().get()) { })

◆ looksLikeImmer

auto Kazv::detail::looksLikeImmer
inline
Initial value:
= boost::hana::is_valid(
[](auto t) -> boost::hana::type<typename decltype(t)::type::transient_type> { })

◆ voidOutputHelper

boost::iostreams::stream< boost::iostreams::null_sink > Kazv::detail::voidOutputHelper {boost::iostreams::null_sink()}