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

Classes

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

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.