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

Classes

struct  IconFrame
struct  DBusTooltip
class  SNIAdaptor
struct  Extension
struct  ParameterizedExtension
struct  IsDetected
struct  IsDetected< Default, std::void_t< Op< Args... > >, Op, Args... >
struct  WrapVoidResult
struct  WrapVoidResult< void >
class  LambdaEventFilter
struct  Replace
struct  Replace< Container< U >, T >
struct  DecomposeMemberPtr
struct  DecomposeMemberPtr< R(C::*)>
struct  DropImpl
struct  DropImpl< 0, List >
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  Find
struct  Find< Name, Def, T, Rest... >
struct  Find< Name, Def, Name< T >, Rest... >
struct  Find< Name, Def >
class  ScopeGuard
struct  VisitorBase
struct  VisitorFinallyTag
struct  DeadObjectInfo
struct  AwaitableWrapper
struct  DBusAwaiter
struct  EitherAwaiter
struct  EitherLeanCoroAbort
struct  FinalSuspender
struct  FutureAwaiter
struct  MethodAwaiter
struct  NRAwaiter
struct  ProcessAwaiter
struct  PromiseBase
struct  PromiseRet
struct  PromiseRet< void >
struct  EitherFailureAbort
struct  TaskAwaiter
struct  GetPromise
struct  TimerAwaiter
struct  InitializerBase
struct  Initializer
struct  Initializer< WorkerType >

Typedefs

template<typename T, size_t I>
using FieldType_t = decltype (GetFieldAt<I> (std::declval<T> ()))
template<typename T>
using FieldGetter_t = QVariant (*) (const T&)
template<Qt::ItemDataRole Role>
using RoleTag = std::integral_constant<Qt::ItemDataRole, Role>
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)
QDBusArgument & operator<< (QDBusArgument &out, const IconFrame &frame)
const QDBusArgument & operator>> (const QDBusArgument &in, IconFrame &frame)
QDBusArgument & operator<< (QDBusArgument &out, const DBusTooltip &tooltip)
const QDBusArgument & operator>> (const QDBusArgument &in, DBusTooltip &tooltip)
template<typename T, typename... Ts>
QVariant GetFieldImpl (int idx, T &head, Ts &... tail)
template<typename T>
QVariant GetField (const T &item, int idx)
constexpr auto GetFieldsCount (auto &&val)
template<size_t I>
constexpr auto GetFieldAt (auto &&val)
template<typename T, size_t Ix>
std::pair< int, FieldGetter_t< T > > Role2GetterPair ()
template<typename T>
QHash< int, FieldGetter_t< T > > MkGetters ()
constexpr size_t DecimalWidth (std::integral auto v, int base=10)
template<typename T1, typename T2>
consteval bool JMEq (const T1 &v1, const T2 &v2)
template<typename T>
constexpr bool IsFunctorImpl (int, typename InstanceFunctor< T >::UndefinedTag *=nullptr)
template<typename T>
constexpr bool IsFunctorImpl (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)
void NotifyCastError (const QObject *object, const char *target, const std::source_location &loc)
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, const C, Args... > * TypeGetter (R(C::*)(Args...) const)
template<typename C, typename R, typename... Args>
std::tuple< R, C, Args... > * TypeGetter (R(C::*)(Args...))
template<typename C, typename R>
std::tuple< R, C > * TypeGetter (R(C::*))
template<typename C, typename R, typename... Args>
std::tuple< R, Args... > * TypeGetterNoClass (R(C::*)(Args...) const)
template<typename C>
decltype(TypeGetterNoClass(&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... >)
void CheckDeadObjects (const QVector< DeadObjectInfo > &deadObjects)
template<typename T>
decltype(auto) Awaiter (T &&obj)
template<typename Promise>
void TerminateLeftyCoroutine (std::coroutine_handle< Promise > handle, const auto &error)

Variables

template<typename T>
constexpr size_t FieldsCount_v = decltype (GetFieldsCount (std::declval<T> ()))::value

Typedef Documentation

◆ CallTypeGetter_t

template<typename F>
using LC::Util::detail::CallTypeGetter_t = std::decay_t<decltype (*detail::TypeGetter (*static_cast<F*> (nullptr)))>

Definition at line 42 of file typegetter.h.

◆ DefaultScopeGuardDeleter

using LC::Util::detail::DefaultScopeGuardDeleter = std::function<void ()>

Definition at line 40 of file util.h.

◆ FieldGetter_t

template<typename T>
using LC::Util::detail::FieldGetter_t = QVariant (*) (const T&)

Definition at line 108 of file itemsmodel.h.

◆ FieldType_t

template<typename T, size_t I>
using LC::Util::detail::FieldType_t = decltype (GetFieldAt<I> (std::declval<T> ()))

Definition at line 102 of file itemsmodel.h.

◆ RoleTag

template<Qt::ItemDataRole Role>
using LC::Util::detail::RoleTag = std::integral_constant<Qt::ItemDataRole, Role>

Definition at line 253 of file itemsmodel.h.

◆ WrapVoidResult_t

template<typename T>
using LC::Util::detail::WrapVoidResult_t = typename WrapVoidResult<T>::Type

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>
decltype(auto) LC::Util::detail::Awaiter ( T && obj)

Definition at line 38 of file context.h.

References Awaiter().

Referenced by LC::Util::ContextExtensions< typename >::await_transform(), and Awaiter().

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, OrigAwaiter >::await_resume().

Here is the caller graph for this function:

◆ DecimalWidth()

size_t LC::Util::detail::DecimalWidth ( std::integral auto v,
int base = 10 )
constexpr

Definition at line 38 of file ctstringutils.h.

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

Here is the caller graph for this function:

◆ GetField()

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

Definition at line 30 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:

◆ GetFieldAt()

template<size_t I>
auto LC::Util::detail::GetFieldAt ( auto && val)
constexpr

Definition at line 95 of file itemsmodel.h.

Referenced by Role2GetterPair().

Here is the caller graph for this function:

◆ GetFieldImpl()

template<typename T, typename... Ts>
QVariant LC::Util::detail::GetFieldImpl ( int idx,
T & head,
Ts &... tail )

Definition at line 18 of file flatitemsmodel.h.

References GetFieldImpl().

Referenced by GetField(), and GetFieldImpl().

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

◆ GetFieldsCount()

auto LC::Util::detail::GetFieldsCount ( auto && val)
constexpr

Definition at line 88 of file itemsmodel.h.

◆ IconToFrames()

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

Definition at line 37 of file fancytrayiconfreedesktop.cpp.

References 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>
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:

◆ IsFunctorImpl() [1/2]

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

Definition at line 79 of file functor.h.

◆ IsFunctorImpl() [2/2]

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

Definition at line 73 of file functor.h.

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

Here is the caller graph for this function:

◆ JMEq()

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

Definition at line 78 of file ctstringutils.h.

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

Here is the caller graph for this function:

◆ MapImpl()

template<typename ResultContainer, typename Container, typename F>
auto LC::Util::detail::MapImpl ( Container && c,
F f )

Definition at line 85 of file prelude.h.

References Append().

Referenced by LC::Util::Map(), and LC::Util::MapAs().

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

◆ MkGetters()

template<typename T>
QHash< int, FieldGetter_t< T > > LC::Util::detail::MkGetters ( )

Definition at line 124 of file itemsmodel.h.

References Role2GetterPair().

Here is the call graph for this function:

◆ NotifyCastError()

void UTIL_SLL_API LC::Util::detail::NotifyCastError ( const QObject * object,
const char * target,
const std::source_location & loc )

Definition at line 14 of file qobjectrefcast.cpp.

Referenced by LC::qobject_ref_cast().

Here is the caller 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 IconToFrames(), LC::Util::detail::DBusTooltip::Subtitle_, and LC::Util::detail::DBusTooltip::Title_.

Here is the call graph for this function:

◆ operator<<() [2/2]

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

◆ operator>>() [1/2]

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

◆ operator>>() [2/2]

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

◆ Role2GetterPair()

template<typename T, size_t Ix>
std::pair< int, FieldGetter_t< T > > LC::Util::detail::Role2GetterPair ( )

Definition at line 111 of file itemsmodel.h.

References GetFieldAt().

Referenced by MkGetters().

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

◆ TerminateLeftyCoroutine()

template<typename Promise>
void LC::Util::detail::TerminateLeftyCoroutine ( std::coroutine_handle< Promise > handle,
const auto & error )

Definition at line 25 of file either.h.

Referenced by LC::Util::AsDomDocument::await_suspend(), and LC::Util::detail::EitherAwaiter< L, R, ErrorHandler >::await_suspend().

Here is the caller graph for this function:

◆ TypeGetter() [1/6]

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

References TypeGetter().

Here is the call graph for this function:

◆ TypeGetter() [2/6]

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

◆ TypeGetter() [3/6]

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

Referenced by TypeGetter().

Here is the caller graph for this function:

◆ TypeGetter() [4/6]

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

◆ TypeGetter() [5/6]

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

◆ TypeGetter() [6/6]

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

◆ TypeGetterNoClass()

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

Variable Documentation

◆ FieldsCount_v

template<typename T>
size_t LC::Util::detail::FieldsCount_v = decltype (GetFieldsCount (std::declval<T> ()))::value
constexpr

Definition at line 105 of file itemsmodel.h.