LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
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< 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)
 
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
 
template<typename C >
decltype(TypeGetterNoClass(&C::operator())) TypeGetter (const C &c)
 

Typedef Documentation

◆ CallTypeGetter_t

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

Definition at line 42 of file typegetter.h.

◆ DefaultScopeGuardDeleter

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

Definition at line 40 of file util.h.

◆ FieldGetter_t

template<typename T >
using LC::Util::detail::FieldGetter_t = typedef 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 = typedef decltype (GetFieldAt<I> (std::declval<T> ()))

Definition at line 102 of file itemsmodel.h.

◆ RoleTag

template<Qt::ItemDataRole Role>
using LC::Util::detail::RoleTag = typedef 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 = typedef 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.

References LC::Util::requires().

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

+ Here is the call graph for this function:
+ 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 LC::Util::requires().

Referenced by LC::Util::ContextExtensions< typename >::await_transform(), and LC::Util::Throttle::operator co_await().

+ 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()

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

Definition at line 38 of file ctstringutils.h.

References LC::Util::oral::sph::count.

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>
constexpr auto LC::Util::detail::GetFieldAt ( auto &&  val)

Definition at line 95 of file itemsmodel.h.

◆ 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.

Referenced by GetField().

+ Here is the caller graph for this function:

◆ GetFieldsCount()

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

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:

◆ IsFunctorImpl() [1/2]

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

Definition at line 73 of file functor.h.

◆ IsFunctorImpl() [2/2]

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

Definition at line 79 of file functor.h.

◆ JMEq()

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

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 
)

Definition at line 85 of file prelude.h.

References Append(), and LC::Util::oral::sph::f.

+ Here is the call 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.

◆ 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.

References LC::loc.

◆ operator<<() [1/2]

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

◆ operator<<() [2/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>>() [1/2]

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

◆ operator>>() [2/2]

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

◆ 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 LC::Util::requires().

+ Here is the call 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/5]

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

◆ TypeGetter() [2/5]

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

◆ TypeGetter() [3/5]

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

◆ TypeGetter() [4/5]

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

◆ TypeGetter() [5/5]

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 >
constexpr size_t LC::Util::detail::FieldsCount_v = decltype (GetFieldsCount (std::declval<T> ()))::value

Definition at line 105 of file itemsmodel.h.

◆ TypeGetter

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

Definition at line 39 of file typegetter.h.