LeechCraft 0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
LC::Util::detail Namespace Reference

Classes

struct  Any
 
struct  AwaitableWrapper
 
struct  DBusTooltip
 
struct  DeadObjectInfo
 
struct  DecomposeMemberPtr
 
struct  DecomposeMemberPtr< R(C::*)>
 
struct  DropImpl
 
struct  DropImpl< 0, List >
 
class  Dropper
 
struct  Dumbifier
 
struct  EitherAwaiter
 
struct  EitherAwaiterErrorHandler
 
struct  EitherAwaiterErrorHandler< void >
 
struct  EitherFailureAbort
 
struct  FC
 
struct  Filter
 
struct  Filter< Pred, List< Head, Tail... >, std::enable_if_t< Pred< Head >::value > >
 
struct  Filter< Pred, List< Head, Tail... >, std::enable_if_t<!Pred< Head >::value > >
 
struct  Filter< Pred, List<> >
 
struct  FinalSuspender
 
struct  Find
 
struct  Find< Name, Def >
 
struct  Find< Name, Def, Name< T >, Rest... >
 
struct  Find< Name, Def, T, Rest... >
 
struct  GetPromise
 
struct  IconFrame
 
struct  Initializer
 
struct  Initializer< WorkerType >
 
struct  InitializerBase
 
struct  InvokableResGetter
 
struct  InvokableResGetter< F, List< Args... > >
 
struct  InvokableType
 
struct  IsDetected
 
struct  IsDetected< Default, std::void_t< Op< Args... > >, Op, Args... >
 
class  LambdaEventFilter
 
struct  NRAwaiter
 
struct  Overloaded
 
struct  ParallelTraits
 
struct  PromiseRet
 
struct  PromiseRet< void >
 
struct  Replace
 
struct  Replace< Container< U >, T >
 
class  ScopeGuard
 
class  SharedScopeGuard
 
class  SNIAdaptor
 
struct  TaskAwaiter
 
struct  TimerAwaiter
 
struct  VisitorBase
 
struct  VisitorFinallyTag
 
struct  WrapVoidResult
 
struct  WrapVoidResult< void >
 

Typedefs

template<typename T >
using Dumbify = typename Dumbifier<T>::Type_t
 
template<typename T >
using WrapVoidResult_t = typename WrapVoidResult<T>::Type
 
template<typename F >
using CallTypeGetter_t = std::decay_t<decltype (*detail::TypeGetter (*static_cast<F*> (nullptr)))>
 
using DefaultScopeGuardDeleter = std::function<void ()>
 

Functions

QList< IconFrameIconToFrames (const QIcon &icon)
 
QDBusArgumentoperator<< (QDBusArgument &out, const IconFrame &frame)
 
const QDBusArgumentoperator>> (const QDBusArgument &in, IconFrame &frame)
 
QDBusArgumentoperator<< (QDBusArgument &out, const DBusTooltip &tooltip)
 
const QDBusArgumentoperator>> (const QDBusArgument &in, DBusTooltip &tooltip)
 
template<typename T >
constexpr int GetFieldsCount ()
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 1 >)
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 2 >)
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 3 >)
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 4 >)
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 5 >)
 
template<typename T >
QVariant GetFieldImpl (const T &item, int idx, FC< 6 >)
 
template<typename T >
QVariant GetField (const T &item, int idx)
 
template<typename T1 , typename T2 >
consteval bool JMEq (const T1 &v1, const T2 &v2)
 
template<typename F , template< typename... > class List, typename... Args>
constexpr List< Args... > GetInvokablePartImpl (int, List< Args... >, typename std::result_of< F(Args...)>::type *=nullptr)
 
template<typename F , template< typename... > class List>
constexpr Typelist GetInvokablePartImpl (float, List<>)
 
template<typename F , template< typename... > class List, typename... Args>
constexpr auto GetInvokablePartImpl (float, List< Args... > list) -> typename InvokableType< F, decltype(Reverse(Tail(Reverse(list))))>::RetType_t
 
template<typename F , typename... Args>
constexpr auto GetInvokablePart () -> decltype(GetInvokablePartImpl< F >(0, Typelist< Args... > {}))
 
template<template< typename... > class List, typename... Args>
constexpr size_t Length (List< Args... >)
 
template<typename T >
constexpr bool IsFunctorImpl (int, typename InstanceFunctor< T >::UndefinedTag *=nullptr)
 
template<typename T >
constexpr bool IsFunctorImpl (float)
 
template<template< typename... > class Monad, typename... Args1, typename... Args2>
constexpr bool IsCompatibleMonadImpl (const Monad< Args1... > *, const Monad< Args2... > *, int)
 
template<typename T1 , typename T2 >
constexpr bool IsCompatibleMonadImpl (const T1 *, const T2 *,...)
 
template<typename T >
constexpr T * declptr () noexcept
 
template<typename T1 , typename T2 >
constexpr bool IsCompatibleMonad ()
 
template<typename T >
constexpr bool IsMonadPlusImpl (int, typename InstanceMonadPlus< T >::UndefinedTag *=nullptr)
 
template<typename T >
constexpr bool IsMonadPlusImpl (float)
 
template<typename Res , typename T >
void Append (Res &result, T &&val) noexcept
 
template<typename ResultContainer , typename Container , typename F >
auto MapImpl (Container &&c, F f)
 
template<typename R , typename... Args>
std::tuple< R, Args... > * TypeGetter (R(*)(Args...))
 
template<typename F >
auto TypeGetter (F &&f) -> decltype(TypeGetter(+f))
 
template<typename C , typename R , typename... Args>
std::tuple< R, Args... > * TypeGetter (R(C::*)(Args...) const)
 
template<typename C >
decltype(TypeGetter(&C::operator())) TypeGetter (const C &c)
 
template<template< typename... > class List, typename Tuple , size_t... Is>
constexpr auto InitImpl (std::integer_sequence< size_t, Is... >)
 
template<class... Ts>
 Overloaded (Ts...) -> Overloaded< Ts... >
 
void CheckDeadObjects (const QVector< DeadObjectInfo > &deadObjects)
 
template<typename T >
auto Awaiter (T &obj)
 

Typedef Documentation

◆ CallTypeGetter_t

Definition at line 33 of file typegetter.h.

◆ DefaultScopeGuardDeleter

Definition at line 21 of file util.h.

◆ Dumbify

Definition at line 65 of file dropargs.h.

◆ WrapVoidResult_t

Definition at line 200 of file functor.h.

Function Documentation

◆ Append()

template<typename Res , typename T >
void LC::Util::detail::Append ( Res & result,
T && val )
noexcept

Definition at line 64 of file prelude.h.

Referenced by LC::Util::Concat(), LC::Util::Filter(), and MapImpl().

+ Here is the caller graph for this function:

◆ Awaiter()

template<typename T >
auto LC::Util::detail::Awaiter ( T & obj)

Definition at line 38 of file context.h.

References LC::Util::Filter().

Referenced by LC::Util::detail::AwaitableWrapper< Promise, T >::await_ready(), LC::Util::detail::AwaitableWrapper< Promise, T >::await_resume(), and LC::Util::detail::AwaitableWrapper< Promise, T >::await_suspend().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckDeadObjects()

UTIL_THREADS_API void LC::Util::detail::CheckDeadObjects ( const QVector< DeadObjectInfo > & deadObjects)

Definition at line 32 of file context.cpp.

Referenced by LC::Util::detail::AwaitableWrapper< Promise, T >::await_resume().

+ Here is the caller graph for this function:

◆ declptr()

template<typename T >
constexpr T * LC::Util::detail::declptr ( )
constexprnoexcept

Definition at line 50 of file monad.h.

◆ GetField()

template<typename T >
QVariant LC::Util::detail::GetField ( const T & item,
int idx )

Definition at line 157 of file flatitemsmodel.h.

References GetFieldImpl().

Referenced by LC::Util::FlatItemsModel< T >::GetData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFieldImpl() [1/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 1 >  )

Definition at line 49 of file flatitemsmodel.h.

References LC::Util::Filter().

Referenced by GetField().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFieldImpl() [2/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 2 >  )

Definition at line 62 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetFieldImpl() [3/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 3 >  )

Definition at line 77 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetFieldImpl() [4/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 4 >  )

Definition at line 94 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetFieldImpl() [5/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 5 >  )

Definition at line 113 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetFieldImpl() [6/6]

template<typename T >
QVariant LC::Util::detail::GetFieldImpl ( const T & item,
int idx,
FC< 6 >  )

Definition at line 134 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetFieldsCount()

template<typename T >
constexpr int LC::Util::detail::GetFieldsCount ( )
constexpr

Definition at line 28 of file flatitemsmodel.h.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ GetInvokablePart()

template<typename F , typename... Args>
constexpr auto LC::Util::detail::GetInvokablePart ( ) -> decltype (GetInvokablePartImpl<F> (0, Typelist<Args...> {}))
constexpr

Definition at line 47 of file dropargs.h.

Referenced by LC::Util::detail::Dropper< F >::operator()().

+ Here is the caller graph for this function:

◆ GetInvokablePartImpl() [1/3]

template<typename F , template< typename... > class List, typename... Args>
constexpr auto LC::Util::detail::GetInvokablePartImpl ( float ,
List< Args... > list ) -> typename InvokableType<F, decltype (Reverse (Tail (Reverse (list))))>::RetType_t
constexpr

Definition at line 35 of file dropargs.h.

◆ GetInvokablePartImpl() [2/3]

template<typename F , template< typename... > class List>
constexpr Typelist LC::Util::detail::GetInvokablePartImpl ( float ,
List<>  )
constexpr

Definition at line 26 of file dropargs.h.

◆ GetInvokablePartImpl() [3/3]

template<typename F , template< typename... > class List, typename... Args>
constexpr List< Args... > LC::Util::detail::GetInvokablePartImpl ( int ,
List< Args... > ,
typename std::result_of< F(Args...)>::type * = nullptr )
constexpr

Definition at line 20 of file dropargs.h.

◆ IconToFrames()

QList< IconFrame > LC::Util::detail::IconToFrames ( const QIcon & icon)

Definition at line 37 of file fancytrayiconfreedesktop.cpp.

References LC::Util::Filter(), LC::Util::detail::IconFrame::FromPixmap(), and LC::Util::Map().

Referenced by operator<<().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitImpl()

template<template< typename... > class List, typename Tuple , size_t... Is>
constexpr auto LC::Util::detail::InitImpl ( std::integer_sequence< size_t, Is... > )
constexpr

Definition at line 82 of file typelist.h.

Referenced by LC::Util::Init().

+ Here is the caller graph for this function:

◆ IsCompatibleMonad()

template<typename T1 , typename T2 >
constexpr bool LC::Util::detail::IsCompatibleMonad ( )
constexpr

Definition at line 56 of file monad.h.

References IsCompatibleMonadImpl().

+ Here is the call graph for this function:

◆ IsCompatibleMonadImpl() [1/2]

template<template< typename... > class Monad, typename... Args1, typename... Args2>
constexpr bool LC::Util::detail::IsCompatibleMonadImpl ( const Monad< Args1... > * ,
const Monad< Args2... > * ,
int  )
constexpr

Definition at line 35 of file monad.h.

References LC::Util::Filter(), and LC::Util::Init().

Referenced by IsCompatibleMonad().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsCompatibleMonadImpl() [2/2]

template<typename T1 , typename T2 >
constexpr bool LC::Util::detail::IsCompatibleMonadImpl ( const T1 * ,
const T2 * ,
... )
constexpr

Definition at line 44 of file monad.h.

◆ IsFunctorImpl() [1/2]

template<typename T >
constexpr bool LC::Util::detail::IsFunctorImpl ( float )
constexpr

Definition at line 79 of file functor.h.

◆ IsFunctorImpl() [2/2]

template<typename T >
constexpr bool LC::Util::detail::IsFunctorImpl ( int ,
typename InstanceFunctor< T >::UndefinedTag * = nullptr )
constexpr

Definition at line 73 of file functor.h.

◆ IsMonadPlusImpl() [1/2]

template<typename T >
constexpr bool LC::Util::detail::IsMonadPlusImpl ( float )
constexpr

Definition at line 33 of file monadplus.h.

◆ IsMonadPlusImpl() [2/2]

template<typename T >
constexpr bool LC::Util::detail::IsMonadPlusImpl ( int ,
typename InstanceMonadPlus< T >::UndefinedTag * = nullptr )
constexpr

Definition at line 27 of file monadplus.h.

◆ JMEq()

template<typename T1 , typename T2 >
consteval bool LC::Util::detail::JMEq ( const T1 & v1,
const T2 & v2 )

Definition at line 51 of file ctstringutils.h.

References LC::Util::Filter().

Referenced by LC::Util::Nub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Length()

template<template< typename... > class List, typename... Args>
constexpr size_t LC::Util::detail::Length ( List< Args... > )
constexpr

Definition at line 53 of file dropargs.h.

References LC::Util::Filter().

Referenced by LC::Util::detail::Dropper< F >::operator()().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MapImpl()

auto LC::Util::detail::MapImpl ( Container && c,
F f )

Definition at line 85 of file prelude.h.

References Append(), and LC::Util::Filter().

+ Here is the call graph for this function:

◆ operator<<() [1/2]

QDBusArgument & LC::Util::detail::operator<< ( QDBusArgument & out,
const DBusTooltip & tooltip )

Definition at line 66 of file fancytrayiconfreedesktop.cpp.

References LC::Util::Filter(), and IconToFrames().

+ Here is the call graph for this function:

◆ operator<<() [2/2]

QDBusArgument & LC::Util::detail::operator<< ( QDBusArgument & out,
const IconFrame & frame )

Definition at line 50 of file fancytrayiconfreedesktop.cpp.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ operator>>() [1/2]

const QDBusArgument & LC::Util::detail::operator>> ( const QDBusArgument & in,
DBusTooltip & tooltip )

Definition at line 77 of file fancytrayiconfreedesktop.cpp.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ operator>>() [2/2]

const QDBusArgument & LC::Util::detail::operator>> ( const QDBusArgument & in,
IconFrame & frame )

Definition at line 58 of file fancytrayiconfreedesktop.cpp.

References LC::Util::Filter().

+ Here is the call graph for this function:

◆ Overloaded()

template<class... Ts>
LC::Util::detail::Overloaded ( Ts... ) -> Overloaded< Ts... >

◆ TypeGetter() [1/4]

template<typename C >
decltype(TypeGetter(&C::operator())) LC::Util::detail::TypeGetter ( const C & c)

◆ TypeGetter() [2/4]

template<typename F >
auto LC::Util::detail::TypeGetter ( F && f) -> decltype(TypeGetter(+f))

◆ TypeGetter() [3/4]

template<typename R , typename... Args>
std::tuple< R, Args... > * LC::Util::detail::TypeGetter ( R(*)(Args...) )

◆ TypeGetter() [4/4]

template<typename C , typename R , typename... Args>
std::tuple< R, Args... > * LC::Util::detail::TypeGetter ( R(C::*)(Args...) const )