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
QRangeModelImpl< Structure, Range, Protocol > Class Template Reference

#include <qrangemodel_impl.h>

Inheritance diagram for QRangeModelImpl< Structure, Range, Protocol >:
Collaboration diagram for QRangeModelImpl< Structure, Range, Protocol >:

Classes

struct  EmptyRowGenerator

Public Types

using range_type = QRangeModelDetails::wrapped_t<Range>
using range_features = QRangeModelDetails::range_traits<range_type>
using row_reference = decltype(*QRangeModelDetails::begin(std::declval<range_type&>()))
using row_type = std::remove_reference_t<row_reference>
using wrapped_row_type = QRangeModelDetails::wrapped_t<row_type>
using row_features = QRangeModelDetails::range_traits<wrapped_row_type>
using row_traits = QRangeModelDetails::row_traits<std::remove_cv_t<wrapped_row_type>>
using protocol_type = QRangeModelDetails::wrapped_t<Protocol>
using protocol_traits = QRangeModelDetails::protocol_traits<Range, protocol_type>
using ModelData
using ProtocolStorage = QtPrivate::CompactStorage<Protocol>
using const_row_reference = decltype(*std::declval<typename ModelData::const_iterator&>())
template<typename BaseMethod, typename BaseMethod::template Overridden< Self > overridden>
using Override = typename Ancestor::template Override<BaseMethod, overridden>
using Destroy = Override<QRangeModelImplBase::Destroy, &Self::destroy>
using Index = Override<QRangeModelImplBase::Index, &Self::index>
using Parent = Override<QRangeModelImplBase::Parent, &Self::parent>
using Sibling = Override<QRangeModelImplBase::Sibling, &Self::sibling>
using RowCount = Override<QRangeModelImplBase::RowCount, &Self::rowCount>
using ColumnCount = Override<QRangeModelImplBase::ColumnCount, &Self::columnCount>
using Flags = Override<QRangeModelImplBase::Flags, &Self::flags>
using HeaderData = Override<QRangeModelImplBase::HeaderData, &Self::headerData>
using Data = Override<QRangeModelImplBase::Data, &Self::data>
using ItemData = Override<QRangeModelImplBase::ItemData, &Self::itemData>
using RoleNames = Override<QRangeModelImplBase::RoleNames, &Self::roleNames>
using InvalidateCaches = Override<QRangeModelImplBase::InvalidateCaches, &Self::invalidateCaches>
using SetHeaderData = Override<QRangeModelImplBase::SetHeaderData, &Self::setHeaderData>
using SetData = Override<QRangeModelImplBase::SetData, &Self::setData>
using SetItemData = Override<QRangeModelImplBase::SetItemData, &Self::setItemData>
using ClearItemData = Override<QRangeModelImplBase::ClearItemData, &Self::clearItemData>
using InsertColumns = Override<QRangeModelImplBase::InsertColumns, &Self::insertColumns>
using RemoveColumns = Override<QRangeModelImplBase::RemoveColumns, &Self::removeColumns>
using MoveColumns = Override<QRangeModelImplBase::MoveColumns, &Self::moveColumns>
using InsertRows = Override<QRangeModelImplBase::InsertRows, &Self::insertRows>
using RemoveRows = Override<QRangeModelImplBase::RemoveRows, &Self::removeRows>
using MoveRows = Override<QRangeModelImplBase::MoveRows, &Self::moveRows>
using MultiData = Override<QRangeModelImplBase::MultiData, &Self::multiData>
Public Types inherited from Interface
using Container = QVarLengthArray<Interface, 1>

Public Member Functions

 QRangeModelImpl (Range &&model, Protocol &&protocol, QRangeModel *itemModel)
void invalidateCaches ()
bool setHeaderData (int, Qt::Orientation, const QVariant &, int)
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
void multiData (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const
bool setData (const QModelIndex &index, const QVariant &data, int role)
template<typename LHS, typename RHS>
void updateTarget (LHS &org, RHS &&copy) noexcept
template<typename LHS, typename RHS>
void updateTarget (LHS *org, RHS &&copy) noexcept
bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &data)
bool clearItemData (const QModelIndex &index)
QHash< int, QByteArrayroleNames () const
template<typename InsertFn>
bool doInsertColumns (int column, int count, const QModelIndex &parent, InsertFn insertFn)
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)
template<typename InsertFn>
bool doInsertRows (int row, int count, const QModelIndex &parent, InsertFn &&insertFn)
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)
QModelIndex parent (const QModelIndex &child) const
int rowCount (const QModelIndex &parent) const
int columnCount (const QModelIndex &parent) const
void destroy ()
Public Member Functions inherited from Interface
 Interface ()=default
 Interface (const QCborValue &cbor)

Protected Types

using Self = QRangeModelImpl<Structure, Range, Protocol>
using Ancestor = QtPrivate::QQuasiVirtualSubclass<Self, QRangeModelImplBase>
using row_ptr = wrapped_row_type *
using const_row_ptr = const wrapped_row_type *

Protected Member Functions

Structure & that ()
const Structure & that () const
 ~QRangeModelImpl ()
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 QtPrivate::QQuasiVirtualSubclass< Subclass, Interface >
template<typename... Args>
 QQuasiVirtualSubclass (Args &&... args)

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 ()
static constexpr bool canRemoveRows ()
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)

Protected Attributes

ModelData m_data

Static Protected Attributes

static constexpr int static_row_count = QRangeModelDetails::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 = QRangeModelDetails::static_size_v<row_type>
static constexpr bool one_dimensional_range = static_column_count == 0
template<typename T>
static constexpr bool has_metaobject

Additional Inherited Members

Public Attributes inherited from Interface
QAnyStringView className

Detailed Description

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
class QRangeModelImpl< Structure, Range, Protocol >

Definition at line 1087 of file qrangemodel_impl.h.

Member Typedef Documentation

◆ Ancestor

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Ancestor = QtPrivate::QQuasiVirtualSubclass<Self, QRangeModelImplBase>
protected

Definition at line 1122 of file qrangemodel_impl.h.

◆ ClearItemData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::ClearItemData = Override<QRangeModelImplBase::ClearItemData, &Self::clearItemData>

Definition at line 2025 of file qrangemodel_impl.h.

◆ ColumnCount

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::ColumnCount = Override<QRangeModelImplBase::ColumnCount, &Self::columnCount>

Definition at line 2014 of file qrangemodel_impl.h.

◆ const_row_ptr

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

Definition at line 1170 of file qrangemodel_impl.h.

◆ const_row_reference

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::const_row_reference = decltype(*std::declval<typename ModelData::const_iterator&>())

Definition at line 1111 of file qrangemodel_impl.h.

◆ Data

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Data = Override<QRangeModelImplBase::Data, &Self::data>

Definition at line 2018 of file qrangemodel_impl.h.

◆ Destroy

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Destroy = Override<QRangeModelImplBase::Destroy, &Self::destroy>

Definition at line 2009 of file qrangemodel_impl.h.

◆ Flags

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Flags = Override<QRangeModelImplBase::Flags, &Self::flags>

Definition at line 2015 of file qrangemodel_impl.h.

◆ HeaderData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::HeaderData = Override<QRangeModelImplBase::HeaderData, &Self::headerData>

Definition at line 2016 of file qrangemodel_impl.h.

◆ Index

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Index = Override<QRangeModelImplBase::Index, &Self::index>

Definition at line 2010 of file qrangemodel_impl.h.

◆ InsertColumns

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::InsertColumns = Override<QRangeModelImplBase::InsertColumns, &Self::insertColumns>

Definition at line 2026 of file qrangemodel_impl.h.

◆ InsertRows

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::InsertRows = Override<QRangeModelImplBase::InsertRows, &Self::insertRows>

Definition at line 2029 of file qrangemodel_impl.h.

◆ InvalidateCaches

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::InvalidateCaches = Override<QRangeModelImplBase::InvalidateCaches, &Self::invalidateCaches>

Definition at line 2021 of file qrangemodel_impl.h.

◆ ItemData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::ItemData = Override<QRangeModelImplBase::ItemData, &Self::itemData>

Definition at line 2019 of file qrangemodel_impl.h.

◆ ModelData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::ModelData
Initial value:
QRangeModelDetails::ModelData<std::conditional_t<
std::is_pointer_v<Range>,
Range, std::remove_reference_t<Range>
>,
>
std::conditional_t< is_range, typename range_traits< std::remove_cv_t< wrapped_row_type > >::value_type, std::remove_cv_t< wrapped_row_type > > item_type

Definition at line 1103 of file qrangemodel_impl.h.

◆ MoveColumns

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::MoveColumns = Override<QRangeModelImplBase::MoveColumns, &Self::moveColumns>

Definition at line 2028 of file qrangemodel_impl.h.

◆ MoveRows

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::MoveRows = Override<QRangeModelImplBase::MoveRows, &Self::moveRows>

Definition at line 2031 of file qrangemodel_impl.h.

◆ MultiData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::MultiData = Override<QRangeModelImplBase::MultiData, &Self::multiData>

Definition at line 2033 of file qrangemodel_impl.h.

◆ Override

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename BaseMethod, typename BaseMethod::template Overridden< Self > overridden>
using QRangeModelImpl< Structure, Range, Protocol >::Override = typename Ancestor::template Override<BaseMethod, overridden>

Definition at line 2007 of file qrangemodel_impl.h.

◆ Parent

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Parent = Override<QRangeModelImplBase::Parent, &Self::parent>

Definition at line 2011 of file qrangemodel_impl.h.

◆ protocol_traits

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::protocol_traits = QRangeModelDetails::protocol_traits<Range, protocol_type>

Definition at line 1101 of file qrangemodel_impl.h.

◆ protocol_type

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::protocol_type = QRangeModelDetails::wrapped_t<Protocol>

Definition at line 1100 of file qrangemodel_impl.h.

◆ ProtocolStorage

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::ProtocolStorage = QtPrivate::CompactStorage<Protocol>

Definition at line 1109 of file qrangemodel_impl.h.

◆ range_features

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::range_features = QRangeModelDetails::range_traits<range_type>

Definition at line 1094 of file qrangemodel_impl.h.

◆ range_type

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::range_type = QRangeModelDetails::wrapped_t<Range>

Definition at line 1093 of file qrangemodel_impl.h.

◆ RemoveColumns

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::RemoveColumns = Override<QRangeModelImplBase::RemoveColumns, &Self::removeColumns>

Definition at line 2027 of file qrangemodel_impl.h.

◆ RemoveRows

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::RemoveRows = Override<QRangeModelImplBase::RemoveRows, &Self::removeRows>

Definition at line 2030 of file qrangemodel_impl.h.

◆ RoleNames

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::RoleNames = Override<QRangeModelImplBase::RoleNames, &Self::roleNames>

Definition at line 2020 of file qrangemodel_impl.h.

◆ row_features

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::row_features = QRangeModelDetails::range_traits<wrapped_row_type>

Definition at line 1098 of file qrangemodel_impl.h.

◆ row_ptr

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

Definition at line 1169 of file qrangemodel_impl.h.

◆ row_reference

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

Definition at line 1095 of file qrangemodel_impl.h.

◆ row_traits

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::row_traits = QRangeModelDetails::row_traits<std::remove_cv_t<wrapped_row_type>>

Definition at line 1099 of file qrangemodel_impl.h.

◆ row_type

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

Definition at line 1096 of file qrangemodel_impl.h.

◆ RowCount

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::RowCount = Override<QRangeModelImplBase::RowCount, &Self::rowCount>

Definition at line 2013 of file qrangemodel_impl.h.

◆ Self

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Self = QRangeModelImpl<Structure, Range, Protocol>
protected

Definition at line 1121 of file qrangemodel_impl.h.

◆ SetData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::SetData = Override<QRangeModelImplBase::SetData, &Self::setData>

Definition at line 2023 of file qrangemodel_impl.h.

◆ SetHeaderData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::SetHeaderData = Override<QRangeModelImplBase::SetHeaderData, &Self::setHeaderData>

Definition at line 2022 of file qrangemodel_impl.h.

◆ SetItemData

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::SetItemData = Override<QRangeModelImplBase::SetItemData, &Self::setItemData>

Definition at line 2024 of file qrangemodel_impl.h.

◆ Sibling

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::Sibling = Override<QRangeModelImplBase::Sibling, &Self::sibling>

Definition at line 2012 of file qrangemodel_impl.h.

◆ wrapped_row_type

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::wrapped_row_type = QRangeModelDetails::wrapped_t<row_type>

Definition at line 1097 of file qrangemodel_impl.h.

Constructor & Destructor Documentation

◆ QRangeModelImpl()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QRangeModelImpl< Structure, Range, Protocol >::QRangeModelImpl ( Range && model,
Protocol && protocol,
QRangeModel * itemModel )
inlineexplicit

Definition at line 1208 of file qrangemodel_impl.h.

Referenced by QRangeModelImpl().

Here is the caller graph for this function:

◆ ~QRangeModelImpl()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QRangeModelImpl< Structure, Range, Protocol >::~QRangeModelImpl ( )
inlineprotected

Definition at line 2036 of file qrangemodel_impl.h.

Member Function Documentation

◆ canInsertRows()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::canInsertRows ( )
inlinestaticconstexprprotected

Definition at line 2070 of file qrangemodel_impl.h.

Referenced by insertRows().

Here is the caller graph for this function:

◆ canRemoveRows()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::canRemoveRows ( )
inlinestaticconstexprprotected

Definition at line 2090 of file qrangemodel_impl.h.

◆ childRange() [1/2]

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

Definition at line 2328 of file qrangemodel_impl.h.

◆ childRange() [2/2]

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

Definition at line 2319 of file qrangemodel_impl.h.

◆ clearItemData()

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

Definition at line 1738 of file qrangemodel_impl.h.

◆ columnCount()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
int QRangeModelImpl< Structure, Range, Protocol >::columnCount ( const QModelIndex & parent) const
inline

Definition at line 2002 of file qrangemodel_impl.h.

◆ data()

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

Definition at line 1323 of file qrangemodel_impl.h.

◆ destroy()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::destroy ( )
inline

Definition at line 2004 of file qrangemodel_impl.h.

◆ doInsertColumns()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename InsertFn>
bool QRangeModelImpl< Structure, Range, Protocol >::doInsertColumns ( int column,
int count,
const QModelIndex & parent,
InsertFn insertFn )
inline

Definition at line 1787 of file qrangemodel_impl.h.

◆ doInsertRows()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename InsertFn>
bool QRangeModelImpl< Structure, Range, Protocol >::doInsertRows ( int row,
int count,
const QModelIndex & parent,
InsertFn && insertFn )
inline

Definition at line 1873 of file qrangemodel_impl.h.

◆ dynamicColumns()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::dynamicColumns ( )
inlinestaticconstexprprotected

Definition at line 1165 of file qrangemodel_impl.h.

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

Here is the caller graph for this function:

◆ dynamicRows()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::dynamicRows ( )
inlinestaticconstexprprotected

Definition at line 1164 of file qrangemodel_impl.h.

◆ flags()

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

Definition at line 1252 of file qrangemodel_impl.h.

◆ headerData()

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

Definition at line 1292 of file qrangemodel_impl.h.

◆ index()

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

Definition at line 1224 of file qrangemodel_impl.h.

◆ insertColumns()

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

Definition at line 1807 of file qrangemodel_impl.h.

◆ insertRows()

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

Definition at line 1895 of file qrangemodel_impl.h.

◆ invalidateCaches()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::invalidateCaches ( )
inline

Definition at line 1218 of file qrangemodel_impl.h.

◆ isMutable()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::isMutable ( )
inlinestaticconstexprprotected

Definition at line 1150 of file qrangemodel_impl.h.

◆ itemData()

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

Definition at line 1333 of file qrangemodel_impl.h.

◆ moveColumns()

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

Definition at line 1840 of file qrangemodel_impl.h.

◆ moveRows()

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

Definition at line 1964 of file qrangemodel_impl.h.

◆ multiData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::multiData ( const QModelIndex & index,
QModelRoleDataSpan roleDataSpan ) const
inline

Definition at line 1405 of file qrangemodel_impl.h.

◆ parent()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QModelIndex QRangeModelImpl< Structure, Range, Protocol >::parent ( const QModelIndex & child) const
inline

Definition at line 1998 of file qrangemodel_impl.h.

◆ protocol() [1/2]

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

Definition at line 2339 of file qrangemodel_impl.h.

◆ protocol() [2/2]

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

Definition at line 2338 of file qrangemodel_impl.h.

◆ read() [1/2]

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

Definition at line 2135 of file qrangemodel_impl.h.

◆ read() [2/2]

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename Value>
QVariant QRangeModelImpl< Structure, Range, Protocol >::read ( Value * value)
inlinestaticprotected

Definition at line 2143 of file qrangemodel_impl.h.

◆ readAt()

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

Definition at line 2122 of file qrangemodel_impl.h.

◆ readProperty() [1/3]

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

Definition at line 2219 of file qrangemodel_impl.h.

◆ readProperty() [2/3]

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

Definition at line 2236 of file qrangemodel_impl.h.

◆ readProperty() [3/3]

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

Definition at line 2227 of file qrangemodel_impl.h.

◆ readRole() [1/2]

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

Definition at line 2213 of file qrangemodel_impl.h.

◆ readRole() [2/2]

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

Definition at line 2199 of file qrangemodel_impl.h.

◆ removeColumns()

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

Definition at line 1819 of file qrangemodel_impl.h.

◆ removeRows()

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

Definition at line 1918 of file qrangemodel_impl.h.

◆ resetProperty() [1/2]

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

Definition at line 2301 of file qrangemodel_impl.h.

◆ resetProperty() [2/2]

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

Definition at line 2281 of file qrangemodel_impl.h.

◆ roleNames()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QHash< int, QByteArray > QRangeModelImpl< Structure, Range, Protocol >::roleNames ( ) const
inline

Definition at line 1770 of file qrangemodel_impl.h.

◆ roleProperty()

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

Definition at line 2176 of file qrangemodel_impl.h.

◆ rowCount()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
int QRangeModelImpl< Structure, Range, Protocol >::rowCount ( const QModelIndex & parent) const
inline

Definition at line 2000 of file qrangemodel_impl.h.

◆ rowData() [1/2]

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

Definition at line 2313 of file qrangemodel_impl.h.

◆ rowData() [2/2]

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

Definition at line 2307 of file qrangemodel_impl.h.

◆ setData()

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

Definition at line 1500 of file qrangemodel_impl.h.

◆ setHeaderData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::setHeaderData ( int ,
Qt::Orientation ,
const QVariant & ,
int  )
inline

Definition at line 1221 of file qrangemodel_impl.h.

◆ setItemData()

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

Definition at line 1626 of file qrangemodel_impl.h.

◆ sibling()

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

Definition at line 1234 of file qrangemodel_impl.h.

◆ size()

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

Definition at line 1128 of file qrangemodel_impl.h.

◆ that() [1/2]

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

Definition at line 1124 of file qrangemodel_impl.h.

◆ that() [2/2]

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

Definition at line 1125 of file qrangemodel_impl.h.

◆ updateTarget() [1/2]

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename LHS, typename RHS>
void QRangeModelImpl< Structure, Range, Protocol >::updateTarget ( LHS & org,
RHS && copy )
inlinenoexcept

Definition at line 1608 of file qrangemodel_impl.h.

◆ updateTarget() [2/2]

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename LHS, typename RHS>
void QRangeModelImpl< Structure, Range, Protocol >::updateTarget ( LHS * org,
RHS && copy )
inlinenoexcept

Definition at line 1621 of file qrangemodel_impl.h.

◆ write() [1/2]

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

Definition at line 2155 of file qrangemodel_impl.h.

◆ write() [2/2]

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

Definition at line 2168 of file qrangemodel_impl.h.

◆ writeAt()

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

Definition at line 2096 of file qrangemodel_impl.h.

◆ writeProperty() [1/3]

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

Definition at line 2259 of file qrangemodel_impl.h.

◆ writeProperty() [2/3]

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

Definition at line 2275 of file qrangemodel_impl.h.

◆ writeProperty() [3/3]

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

Definition at line 2267 of file qrangemodel_impl.h.

◆ writeRole() [1/2]

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

Definition at line 2253 of file qrangemodel_impl.h.

◆ writeRole() [2/2]

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

Definition at line 2242 of file qrangemodel_impl.h.

Member Data Documentation

◆ has_metaobject

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename T>
bool QRangeModelImpl< 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 1173 of file qrangemodel_impl.h.

◆ m_data

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
ModelData QRangeModelImpl< Structure, Range, Protocol >::m_data
protected

Definition at line 2341 of file qrangemodel_impl.h.

◆ one_dimensional_range

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

Definition at line 1162 of file qrangemodel_impl.h.

Referenced by readAt(), and writeAt().

◆ rows_are_owning_or_raw_pointers

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< 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 1159 of file qrangemodel_impl.h.

Referenced by insertRows().

◆ rows_are_raw_pointers

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

Definition at line 1158 of file qrangemodel_impl.h.

Referenced by ~QRangeModelImpl().

◆ static_column_count

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

Definition at line 1161 of file qrangemodel_impl.h.

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

◆ static_row_count

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

Definition at line 1157 of file qrangemodel_impl.h.

Referenced by dynamicRows().


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