LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
itemsmodel.h File Reference
+ Include dependency graph for itemsmodel.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LC::Util::RoleOf< T, RoleV >
 
class  LC::Util::RoledItemsModel< T >
 
struct  LC::Util::NamedMemberField< RoleArg, GetterArg >
 
class  LC::Util::NamedItemsModel< T >
 
struct  LC::Util::Field< Getter >
 
struct  LC::Util::detail::Extension
 
struct  LC::Util::detail::ParameterizedExtension< P >
 
struct  LC::Util::detail::ParameterizedExtension< P >::Param
 
struct  LC::Util::ItemsDecorated< IconField >
 
struct  LC::Util::ItemsEditable
 
struct  LC::Util::ItemsCheckable< CheckField >
 
struct  LC::Util::NoField
 
struct  LC::Util::ItemsCheckable< NoField_v >
 
class  LC::Util::ItemsModel< T, Extensions >
 

Namespaces

 LC::Util
 
 LC::Util::detail
 

Typedefs

template<typename T , size_t I>
using LC::Util::detail::FieldType_t = decltype(GetFieldAt< I >(std::declval< T >()))
 
template<typename T >
using LC::Util::detail::FieldGetter_t = QVariant(*)(const T &)
 
template<Qt::ItemDataRole Role>
using LC::Util::detail::RoleTag = std::integral_constant< Qt::ItemDataRole, Role >
 

Functions

constexpr auto LC::Util::detail::GetFieldsCount (auto &&val)
 
template<size_t I>
constexpr auto LC::Util::detail::GetFieldAt (auto &&val)
 
template<typename T , size_t Ix>
std::pair< int, FieldGetter_t< T > > LC::Util::detail::Role2GetterPair ()
 
template<typename T >
QHash< int, FieldGetter_t< T > > LC::Util::detail::MkGetters ()
 

Variables

template<typename T >
constexpr size_t LC::Util::detail::FieldsCount_v = decltype (GetFieldsCount (std::declval<T> ()))::value
 
template<auto F>
constexpr auto LC::Util::FromField = +[] (const ArgType_t<decltype (F), 0>& t) { return QVariant::fromValue (t.*F); }
 
template<CtString RoleArg, auto GetterArg>
NamedMemberField< RoleArg, GetterArg > LC::Util::NamedMemberField_v
 
constexpr auto LC::Util::NoField_v = NoField {}