Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QGenericItemModelImpl< Structure, Range, Protocol > Class Template Reference

#include <qgenericitemmodel_impl.h>

+ Inheritance diagram for QGenericItemModelImpl< Structure, Range, Protocol >:
+ Collaboration diagram for QGenericItemModelImpl< Structure, Range, Protocol >:

Classes

struct  EmptyRowGenerator
 

Public Types

using range_type = QGenericItemModelDetails::wrapped_t<Range>
 
using row_reference = decltype(*QGenericItemModelDetails::begin(std::declval<range_type&>()))
 
using const_row_reference = decltype(*QGenericItemModelDetails::cbegin(std::declval<range_type&>()))
 
using row_type = std::remove_reference_t<row_reference>
 
using protocol_type = QGenericItemModelDetails::wrapped_t<Protocol>
 
- Public Types inherited from QGenericItemModelImplBase
enum  ConstOp {
  Index , Parent , Sibling , RowCount ,
  ColumnCount , Flags , HeaderData , Data ,
  ItemData
}
 
enum  Op {
  Destroy , SetData , SetItemData , ClearItemData ,
  InsertColumns , RemoveColumns , MoveColumns , InsertRows ,
  RemoveRows , MoveRows
}
 

Public Member Functions

 QGenericItemModelImpl (Range &&model, Protocol &&protocol, QGenericItemModel *itemModel)
 
QModelIndex index (int row, int column, const QModelIndex &parent) const
 
QModelIndex sibling (int row, int column, const QModelIndex &index) const
 
Qt::ItemFlags flags (const QModelIndex &index) const
 
QVariant headerData (int section, Qt::Orientation orientation, int role) const
 
QVariant data (const QModelIndex &index, int role) const
 
QMap< int, QVariantitemData (const QModelIndex &index) const
 
bool setData (const QModelIndex &index, const QVariant &data, int role)
 
bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &data)
 
bool clearItemData (const QModelIndex &index)
 
bool insertColumns (int column, int count, const QModelIndex &parent)
 
bool removeColumns (int column, int count, const QModelIndex &parent)
 
bool moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destParent, int destColumn)
 
bool insertRows (int row, int count, const QModelIndex &parent)
 
bool removeRows (int row, int count, const QModelIndex &parent={})
 
bool moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destParent, int destRow)
 
- Public Member Functions inherited from QGenericItemModelImplBase
void destroy ()
 
template<typename Ret, typename ... Args>
Ret callConst (ConstOp op, const Args &...args) const
 
template<typename Ret, typename ... Args>
Ret call (Op op, const Args &...args)
 

Static Public Member Functions

static void callConst (ConstOp op, const QGenericItemModelImplBase *that, void *r, const void *args)
 
static void call (Op op, QGenericItemModelImplBase *that, void *r, const void *args)
 

Protected Types

using Self = QGenericItemModelImpl<Structure, Range, Protocol>
 
using range_features = QGenericItemModelDetails::range_traits<range_type>
 
using wrapped_row_type = QGenericItemModelDetails::wrapped_t<row_type>
 
using row_features = QGenericItemModelDetails::range_traits<wrapped_row_type>
 
using row_traits = QGenericItemModelDetails::row_traits<std::remove_cv_t<wrapped_row_type>>
 
using protocol_traits = QGenericItemModelDetails::protocol_traits<Range, protocol_type>
 
using row_ptr = wrapped_row_type *
 
using const_row_ptr = const wrapped_row_type *
 
using ModelData
 

Protected Member Functions

Structure & that ()
 
const Structure & that () const
 
 ~QGenericItemModelImpl ()
 
template<typename F>
bool writeAt (const QModelIndex &index, F &&writer)
 
template<typename F>
void readAt (const QModelIndex &index, F &&reader) const
 
template<typename ItemType>
QMetaProperty roleProperty (int role) const
 
template<typename ItemType>
QVariant readRole (int role, ItemType *gadget) const
 
template<typename ItemType>
QVariant readRole (int role, const ItemType &gadget) const
 
template<typename ItemType>
bool writeRole (int role, ItemType *gadget, const QVariant &data)
 
template<typename ItemType>
bool writeRole (int role, ItemType &&gadget, const QVariant &data)
 
const_row_reference rowData (const QModelIndex &index) const
 
row_reference rowData (const QModelIndex &index)
 
const range_typechildRange (const QModelIndex &index) const
 
range_typechildRange (const QModelIndex &index)
 
const protocol_typeprotocol () const
 
protocol_typeprotocol ()
 
- Protected Member Functions inherited from QGenericItemModelImplBase
template<typename Impl>
 QGenericItemModelImplBase (QGenericItemModel *itemModel, const Impl *)
 
 ~QGenericItemModelImplBase ()=default
 
QModelIndex createIndex (int row, int column, const void *ptr=nullptr) const
 
void changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to)
 
QHash< int, QByteArrayroleNames () const
 
void dataChanged (const QModelIndex &from, const QModelIndex &to, const QList< int > &roles)
 
void beginInsertColumns (const QModelIndex &parent, int start, int count)
 
void endInsertColumns ()
 
void beginRemoveColumns (const QModelIndex &parent, int start, int count)
 
void endRemoveColumns ()
 
bool beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destParent, int destRow)
 
void endMoveColumns ()
 
void beginInsertRows (const QModelIndex &parent, int start, int count)
 
void endInsertRows ()
 
void beginRemoveRows (const QModelIndex &parent, int start, int count)
 
void endRemoveRows ()
 
bool beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destParent, int destRow)
 
void endMoveRows ()
 
QAbstractItemModelitemModel ()
 
const QAbstractItemModelitemModel () const
 

Static Protected Member Functions

template<typename C>
static constexpr int size (const C &c)
 
static constexpr bool isMutable ()
 
static constexpr bool dynamicRows ()
 
static constexpr bool dynamicColumns ()
 
static constexpr bool canInsertRows ()
 
template<typename Value>
static QVariant read (const Value &value)
 
template<typename Value>
static QVariant read (Value *value)
 
template<typename Target>
static bool write (Target &target, const QVariant &value)
 
template<typename Target>
static bool write (Target *target, const QVariant &value)
 
template<typename ItemType>
static QVariant readProperty (const QMetaProperty &prop, ItemType *gadget)
 
template<typename ItemType>
static QVariant readProperty (int property, ItemType *gadget)
 
template<typename ItemType>
static QVariant readProperty (int property, const ItemType &gadget)
 
template<typename ItemType>
static bool writeProperty (const QMetaProperty &prop, ItemType *gadget, const QVariant &data)
 
template<typename ItemType>
static bool writeProperty (int property, ItemType *gadget, const QVariant &data)
 
template<typename ItemType>
static bool writeProperty (int property, ItemType &&gadget, const QVariant &data)
 
template<typename ItemType>
static bool resetProperty (int property, ItemType *object)
 
template<typename ItemType>
static bool resetProperty (int property, ItemType &&object)
 
- Static Protected Member Functions inherited from QGenericItemModelImplBase
template<typename Tuple, typename F, size_t ... Is>
static void call_at (Tuple &&tuple, size_t idx, std::index_sequence< Is... >, F &&function)
 
template<typename T, typename F>
static auto for_element_at (T &&tuple, size_t idx, F &&function)
 
template<typename Tuple, std::size_t ... I>
static constexpr std::array< QMetaType, sizeof...(I)> makeMetaTypes (std::index_sequence< I... >)
 
template<typename T>
static constexpr QMetaType meta_type_at (size_t idx)
 
template<typename Class, typename T, typename F, size_t... I>
static auto apply (std::integer_sequence< size_t, I... >, Class *obj, F &&fn, T &&tuple)
 
template<typename Ret, typename Class, typename ... Args>
static void makeCall (QGenericItemModelImplBase *obj, Ret(Class::*&&fn)(Args...), void *ret, const void *args)
 
template<typename Ret, typename Class, typename ... Args>
static void makeCall (const QGenericItemModelImplBase *obj, Ret(Class::*&&fn)(Args...) const, void *ret, const void *args)
 

Protected Attributes

ModelData m_data
 
Protocol m_protocol
 

Static Protected Attributes

static constexpr int static_row_count = QGenericItemModelDetails::static_size_v<range_type>
 
static constexpr bool rows_are_raw_pointers = std::is_pointer_v<row_type>
 
static constexpr bool rows_are_owning_or_raw_pointers
 
static constexpr int static_column_count = QGenericItemModelDetails::static_size_v<row_type>
 
static constexpr bool one_dimensional_range = static_column_count == 0
 
template<typename T>
static constexpr bool has_metaobject
 

Detailed Description

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
class QGenericItemModelImpl< Structure, Range, Protocol >

Definition at line 663 of file qgenericitemmodel_impl.h.

Member Typedef Documentation

◆ const_row_ptr

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::const_row_ptr = const wrapped_row_type *
protected

Definition at line 729 of file qgenericitemmodel_impl.h.

◆ const_row_reference

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::const_row_reference = decltype(*QGenericItemModelDetails::cbegin(std::declval<range_type&>()))

Definition at line 669 of file qgenericitemmodel_impl.h.

◆ ModelData

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::ModelData
protected
Initial value:
std::is_pointer_v<Range>,
Range, std::remove_reference_t<Range>>
>

Definition at line 735 of file qgenericitemmodel_impl.h.

◆ protocol_traits

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::protocol_traits = QGenericItemModelDetails::protocol_traits<Range, protocol_type>
protected

Definition at line 707 of file qgenericitemmodel_impl.h.

◆ protocol_type

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::protocol_type = QGenericItemModelDetails::wrapped_t<Protocol>

Definition at line 671 of file qgenericitemmodel_impl.h.

◆ range_features

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::range_features = QGenericItemModelDetails::range_traits<range_type>
protected

Definition at line 703 of file qgenericitemmodel_impl.h.

◆ range_type

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::range_type = QGenericItemModelDetails::wrapped_t<Range>

Definition at line 667 of file qgenericitemmodel_impl.h.

◆ row_features

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::row_features = QGenericItemModelDetails::range_traits<wrapped_row_type>
protected

Definition at line 705 of file qgenericitemmodel_impl.h.

◆ row_ptr

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::row_ptr = wrapped_row_type *
protected

Definition at line 728 of file qgenericitemmodel_impl.h.

◆ row_reference

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::row_reference = decltype(*QGenericItemModelDetails::begin(std::declval<range_type&>()))

Definition at line 668 of file qgenericitemmodel_impl.h.

◆ row_traits

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::row_traits = QGenericItemModelDetails::row_traits<std::remove_cv_t<wrapped_row_type>>
protected

Definition at line 706 of file qgenericitemmodel_impl.h.

◆ row_type

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::row_type = std::remove_reference_t<row_reference>

Definition at line 670 of file qgenericitemmodel_impl.h.

◆ Self

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::Self = QGenericItemModelImpl<Structure, Range, Protocol>
protected

Definition at line 680 of file qgenericitemmodel_impl.h.

◆ wrapped_row_type

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
using QGenericItemModelImpl< Structure, Range, Protocol >::wrapped_row_type = QGenericItemModelDetails::wrapped_t<row_type>
protected

Definition at line 704 of file qgenericitemmodel_impl.h.

Constructor & Destructor Documentation

◆ QGenericItemModelImpl()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QGenericItemModelImpl< Structure, Range, Protocol >::QGenericItemModelImpl ( Range && model,
Protocol && protocol,
QGenericItemModel * itemModel )
inlineexplicit

Definition at line 772 of file qgenericitemmodel_impl.h.

Referenced by QGenericItemModelImpl().

+ Here is the caller graph for this function:

◆ ~QGenericItemModelImpl()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QGenericItemModelImpl< Structure, Range, Protocol >::~QGenericItemModelImpl ( )
inlineprotected

Definition at line 1419 of file qgenericitemmodel_impl.h.

Member Function Documentation

◆ call()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static void QGenericItemModelImpl< Structure, Range, Protocol >::call ( Op op,
QGenericItemModelImplBase * that,
void * r,
const void * args )
inlinestatic

Definition at line 804 of file qgenericitemmodel_impl.h.

Referenced by coverage_report.CoverageExecutor::build_binaries(), coverage_report.CoverageExecutor::generate_coverage(), coverage_report.CoverageExecutor::generate_html_report(), and coverage_report.CoverageExecutor::merge_raw_coverage_results().

+ Here is the caller graph for this function:

◆ callConst()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static void QGenericItemModelImpl< Structure, Range, Protocol >::callConst ( ConstOp op,
const QGenericItemModelImplBase * that,
void * r,
const void * args )
inlinestatic

Definition at line 780 of file qgenericitemmodel_impl.h.

◆ canInsertRows()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static constexpr bool QGenericItemModelImpl< Structure, Range, Protocol >::canInsertRows ( )
inlinestaticconstexprprotected

Definition at line 1436 of file qgenericitemmodel_impl.h.

Referenced by insertRows().

+ Here is the caller graph for this function:

◆ childRange() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
range_type * QGenericItemModelImpl< Structure, Range, Protocol >::childRange ( const QModelIndex & index)
inlineprotected

Definition at line 1676 of file qgenericitemmodel_impl.h.

◆ childRange() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
const range_type * QGenericItemModelImpl< Structure, Range, Protocol >::childRange ( const QModelIndex & index) const
inlineprotected

Definition at line 1667 of file qgenericitemmodel_impl.h.

◆ clearItemData()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::clearItemData ( const QModelIndex & index)
inline

Definition at line 1186 of file qgenericitemmodel_impl.h.

◆ data()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QVariant QGenericItemModelImpl< Structure, Range, Protocol >::data ( const QModelIndex & index,
int role ) const
inline

Definition at line 925 of file qgenericitemmodel_impl.h.

◆ dynamicColumns()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static constexpr bool QGenericItemModelImpl< Structure, Range, Protocol >::dynamicColumns ( )
inlinestaticconstexprprotected

Definition at line 724 of file qgenericitemmodel_impl.h.

Referenced by moveColumns(), readAt(), and writeAt().

+ Here is the caller graph for this function:

◆ dynamicRows()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static constexpr bool QGenericItemModelImpl< Structure, Range, Protocol >::dynamicRows ( )
inlinestaticconstexprprotected

Definition at line 723 of file qgenericitemmodel_impl.h.

◆ flags()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
Qt::ItemFlags QGenericItemModelImpl< Structure, Range, Protocol >::flags ( const QModelIndex & index) const
inline

Definition at line 859 of file qgenericitemmodel_impl.h.

◆ headerData()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QVariant QGenericItemModelImpl< Structure, Range, Protocol >::headerData ( int section,
Qt::Orientation orientation,
int role ) const
inline

Definition at line 898 of file qgenericitemmodel_impl.h.

◆ index()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QModelIndex QGenericItemModelImpl< Structure, Range, Protocol >::index ( int row,
int column,
const QModelIndex & parent ) const
inline

Definition at line 831 of file qgenericitemmodel_impl.h.

◆ insertColumns()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::insertColumns ( int column,
int count,
const QModelIndex & parent )
inline

Definition at line 1218 of file qgenericitemmodel_impl.h.

◆ insertRows()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::insertRows ( int row,
int count,
const QModelIndex & parent )
inline

Definition at line 1299 of file qgenericitemmodel_impl.h.

◆ isMutable()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
static constexpr bool QGenericItemModelImpl< Structure, Range, Protocol >::isMutable ( )
inlinestaticconstexprprotected

Definition at line 709 of file qgenericitemmodel_impl.h.

◆ itemData()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QMap< int, QVariant > QGenericItemModelImpl< Structure, Range, Protocol >::itemData ( const QModelIndex & index) const
inline

Definition at line 961 of file qgenericitemmodel_impl.h.

◆ moveColumns()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::moveColumns ( const QModelIndex & sourceParent,
int sourceColumn,
int count,
const QModelIndex & destParent,
int destColumn )
inline

Definition at line 1259 of file qgenericitemmodel_impl.h.

◆ moveRows()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::moveRows ( const QModelIndex & sourceParent,
int sourceRow,
int count,
const QModelIndex & destParent,
int destRow )
inline

Definition at line 1377 of file qgenericitemmodel_impl.h.

◆ protocol() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
protocol_type & QGenericItemModelImpl< Structure, Range, Protocol >::protocol ( )
inlineprotected

Definition at line 1687 of file qgenericitemmodel_impl.h.

◆ protocol() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
const protocol_type & QGenericItemModelImpl< Structure, Range, Protocol >::protocol ( ) const
inlineprotected

Definition at line 1686 of file qgenericitemmodel_impl.h.

◆ read() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename Value>
static QVariant QGenericItemModelImpl< Structure, Range, Protocol >::read ( const Value & value)
inlinestaticprotected

Definition at line 1496 of file qgenericitemmodel_impl.h.

◆ read() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename Value>
static QVariant QGenericItemModelImpl< Structure, Range, Protocol >::read ( Value * value)
inlinestaticprotected

Definition at line 1504 of file qgenericitemmodel_impl.h.

◆ readAt()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename F>
void QGenericItemModelImpl< Structure, Range, Protocol >::readAt ( const QModelIndex & index,
F && reader ) const
inlineprotected

Definition at line 1483 of file qgenericitemmodel_impl.h.

◆ readProperty() [1/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static QVariant QGenericItemModelImpl< Structure, Range, Protocol >::readProperty ( const QMetaProperty & prop,
ItemType * gadget )
inlinestaticprotected

Definition at line 1567 of file qgenericitemmodel_impl.h.

◆ readProperty() [2/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static QVariant QGenericItemModelImpl< Structure, Range, Protocol >::readProperty ( int property,
const ItemType & gadget )
inlinestaticprotected

Definition at line 1584 of file qgenericitemmodel_impl.h.

◆ readProperty() [3/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static QVariant QGenericItemModelImpl< Structure, Range, Protocol >::readProperty ( int property,
ItemType * gadget )
inlinestaticprotected

Definition at line 1575 of file qgenericitemmodel_impl.h.

◆ readRole() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
QVariant QGenericItemModelImpl< Structure, Range, Protocol >::readRole ( int role,
const ItemType & gadget ) const
inlineprotected

Definition at line 1561 of file qgenericitemmodel_impl.h.

◆ readRole() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
QVariant QGenericItemModelImpl< Structure, Range, Protocol >::readRole ( int role,
ItemType * gadget ) const
inlineprotected

Definition at line 1547 of file qgenericitemmodel_impl.h.

◆ removeColumns()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::removeColumns ( int column,
int count,
const QModelIndex & parent )
inline

Definition at line 1238 of file qgenericitemmodel_impl.h.

◆ removeRows()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::removeRows ( int row,
int count,
const QModelIndex & parent = {} )
inline

Definition at line 1331 of file qgenericitemmodel_impl.h.

◆ resetProperty() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::resetProperty ( int property,
ItemType && object )
inlinestaticprotected

Definition at line 1649 of file qgenericitemmodel_impl.h.

◆ resetProperty() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::resetProperty ( int property,
ItemType * object )
inlinestaticprotected

Definition at line 1629 of file qgenericitemmodel_impl.h.

◆ roleProperty()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
QMetaProperty QGenericItemModelImpl< Structure, Range, Protocol >::roleProperty ( int role) const
inlineprotected

Definition at line 1537 of file qgenericitemmodel_impl.h.

◆ rowData() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
row_reference QGenericItemModelImpl< Structure, Range, Protocol >::rowData ( const QModelIndex & index)
inlineprotected

Definition at line 1661 of file qgenericitemmodel_impl.h.

◆ rowData() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
const_row_reference QGenericItemModelImpl< Structure, Range, Protocol >::rowData ( const QModelIndex & index) const
inlineprotected

Definition at line 1655 of file qgenericitemmodel_impl.h.

◆ setData()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::setData ( const QModelIndex & index,
const QVariant & data,
int role )
inline

Definition at line 1021 of file qgenericitemmodel_impl.h.

◆ setItemData()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::setItemData ( const QModelIndex & index,
const QMap< int, QVariant > & data )
inline

Definition at line 1081 of file qgenericitemmodel_impl.h.

◆ sibling()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
QModelIndex QGenericItemModelImpl< Structure, Range, Protocol >::sibling ( int row,
int column,
const QModelIndex & index ) const
inline

Definition at line 841 of file qgenericitemmodel_impl.h.

◆ size()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename C>
static constexpr int QGenericItemModelImpl< Structure, Range, Protocol >::size ( const C & c)
inlinestaticconstexprprotected

Definition at line 685 of file qgenericitemmodel_impl.h.

◆ that() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
Structure & QGenericItemModelImpl< Structure, Range, Protocol >::that ( )
inlineprotected

Definition at line 681 of file qgenericitemmodel_impl.h.

◆ that() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
const Structure & QGenericItemModelImpl< Structure, Range, Protocol >::that ( ) const
inlineprotected

Definition at line 682 of file qgenericitemmodel_impl.h.

◆ write() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename Target>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::write ( Target & target,
const QVariant & value )
inlinestaticprotected

Definition at line 1516 of file qgenericitemmodel_impl.h.

◆ write() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename Target>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::write ( Target * target,
const QVariant & value )
inlinestaticprotected

Definition at line 1529 of file qgenericitemmodel_impl.h.

◆ writeAt()

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename F>
bool QGenericItemModelImpl< Structure, Range, Protocol >::writeAt ( const QModelIndex & index,
F && writer )
inlineprotected

Definition at line 1457 of file qgenericitemmodel_impl.h.

◆ writeProperty() [1/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::writeProperty ( const QMetaProperty & prop,
ItemType * gadget,
const QVariant & data )
inlinestaticprotected

Definition at line 1607 of file qgenericitemmodel_impl.h.

◆ writeProperty() [2/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::writeProperty ( int property,
ItemType && gadget,
const QVariant & data )
inlinestaticprotected

Definition at line 1623 of file qgenericitemmodel_impl.h.

◆ writeProperty() [3/3]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
static bool QGenericItemModelImpl< Structure, Range, Protocol >::writeProperty ( int property,
ItemType * gadget,
const QVariant & data )
inlinestaticprotected

Definition at line 1615 of file qgenericitemmodel_impl.h.

◆ writeRole() [1/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
bool QGenericItemModelImpl< Structure, Range, Protocol >::writeRole ( int role,
ItemType && gadget,
const QVariant & data )
inlineprotected

Definition at line 1601 of file qgenericitemmodel_impl.h.

◆ writeRole() [2/2]

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename ItemType>
bool QGenericItemModelImpl< Structure, Range, Protocol >::writeRole ( int role,
ItemType * gadget,
const QVariant & data )
inlineprotected

Definition at line 1590 of file qgenericitemmodel_impl.h.

Member Data Documentation

◆ has_metaobject

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
template<typename T>
bool QGenericItemModelImpl< Structure, Range, Protocol >::has_metaobject
staticconstexprprotected
Initial value:
std::remove_pointer_t<std::remove_reference_t<T>>>
static constexpr bool has_metaobject_v

Definition at line 732 of file qgenericitemmodel_impl.h.

◆ m_data

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
ModelData QGenericItemModelImpl< Structure, Range, Protocol >::m_data
protected

Definition at line 1689 of file qgenericitemmodel_impl.h.

◆ m_protocol

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
Protocol QGenericItemModelImpl< Structure, Range, Protocol >::m_protocol
protected

Definition at line 1690 of file qgenericitemmodel_impl.h.

Referenced by protocol(), and protocol().

◆ one_dimensional_range

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::one_dimensional_range = static_column_count == 0
staticconstexprprotected

Definition at line 721 of file qgenericitemmodel_impl.h.

Referenced by readAt(), and writeAt().

◆ rows_are_owning_or_raw_pointers

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::rows_are_owning_or_raw_pointers
staticconstexprprotected
Initial value:
=
std::disjunction< is_any_shared_ptr< T >, is_any_unique_ptr< T >, std::is_pointer< T > > is_owning_or_raw_pointer

Definition at line 718 of file qgenericitemmodel_impl.h.

Referenced by insertRows().

◆ rows_are_raw_pointers

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
bool QGenericItemModelImpl< Structure, Range, Protocol >::rows_are_raw_pointers = std::is_pointer_v<row_type>
staticconstexprprotected

Definition at line 717 of file qgenericitemmodel_impl.h.

◆ static_column_count

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
int QGenericItemModelImpl< Structure, Range, Protocol >::static_column_count = QGenericItemModelDetails::static_size_v<row_type>
staticconstexprprotected

Definition at line 720 of file qgenericitemmodel_impl.h.

Referenced by dynamicColumns(), flags(), and headerData().

◆ static_row_count

template<typename Structure, typename Range, typename Protocol = QGenericItemModelDetails::table_protocol_t<Range>>
int QGenericItemModelImpl< Structure, Range, Protocol >::static_row_count = QGenericItemModelDetails::static_size_v<range_type>
staticconstexprprotected

Definition at line 716 of file qgenericitemmodel_impl.h.

Referenced by dynamicRows().


The documentation for this class was generated from the following file: