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
struct  ItemReader
struct  unordered
struct  Compare
struct  MimeDataRowIterator
struct  MimeDataItemIterator
struct  MimeDataRange

Public Types

using range_type = QRangeModelDetails::wrapped_t<Range>
using range_features = QRangeModelDetails::range_traits<range_type>
using row_reference = decltype(*QRangeModelDetails::adl_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>
using SetAutoConnectPolicy
using InterfaceVersion = Override<QRangeModelImplBase::InterfaceVersion, &Self::interfaceVersion>
using Sort = Override<QRangeModelImplBase::Sort, &Self::sort>
using Match = Override<QRangeModelImplBase::Match, &Self::match>
using AdjustSupportedDragActions
using AdjustSupportedDropActions
using MimeTypes = Override<QRangeModelImplBase::MimeTypes, &Self::mimeTypes>
using CanDropMimeData = Override<QRangeModelImplBase::CanDropMimeData, &Self::canDropMimeData>
using DropMimeData = Override<QRangeModelImplBase::DropMimeData, &Self::dropMimeData>
using MimeData = Override<QRangeModelImplBase::MimeData, &Self::mimeData>
Public Types inherited from Interface
using Container = QVarLengthArray<Interface, 1>

Public Member Functions

 QRangeModelImpl (Range &&model, Protocol &&protocol, QRangeModel *itemModel)
void interfaceVersion (int &versionNumber) const
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
bool autoConnectPropertiesInRow (const row_type &row, int rowIndex, const QModelIndex &parent) const
void clearConnectionInRow (const row_type &row, int rowIndex, const QModelIndex &parent) const
void setAutoConnectPolicy ()
void sort (int column, Qt::SortOrder order)
template<typename LessThan>
void sortSubRange (range_type &range, row_ptr expectedParent, const LessThan &lessThan)
QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, Qt::MatchFlags flags) const
bool matchRow (const_row_reference row, const QModelIndex &index, int role, const QVariant &value, Qt::MatchFlags flags) 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)
const protocol_typeprotocol () const
protocol_typeprotocol ()
QModelIndex parent (const QModelIndex &child) const
int rowCount (const QModelIndex &parent) const
int columnCount (const QModelIndex &parent) const
void destroy ()
Qt::DropActions adjustSupportedDragActions (Qt::DropActions dragActions)
Qt::DropActions adjustSupportedDropActions (Qt::DropActions dropActions)
QStringList mimeTypes () const
bool canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &target) const
template<Qt::Orientation orient, typename Entry>
bool doDropMimeData (std::vector< QRangeModelDetails::DroppedEntry< Entry > > &droppedEntries, DropOperation dropOperation, int row, int column, const QModelIndex &target)
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &target)
QMimeDatamimeData (const QModelIndexList &indexes) const
Public Member Functions inherited from Interface
 Interface ()=default
 Interface (const QCborValue &cbor)

Static Public Member Functions

static constexpr bool isMutable ()
static constexpr bool dynamicRows ()
static constexpr bool dynamicColumns ()
static constexpr bool isRangeModelRole (int role)
static constexpr bool isPrimaryRole (int role)
static constexpr int fixedColumnCount ()

Static Public Attributes

static constexpr bool itemsAreQObjects
static constexpr bool rowsAreQObjects

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 *
using AutoConnectPolicy = typename Ancestor::AutoConnectPolicy
using DropOperation = typename Ancestor::DropOperation

Protected Member Functions

Structure & that ()
const Structure & that () const
auto maybeBlockDataChangedDispatch ()
 ~QRangeModelImpl ()
void deleteOwnedRows ()
template<typename F>
bool writeAt (const QModelIndex &index, F &&writer)
template<typename F>
bool readAt (const QModelIndex &index, F &&reader) const
template<typename ItemType>
QMetaProperty roleProperty (int role) const
void connectPropertyOnRead (const QModelIndex &index, int role, const QObject *gadget, const QMetaProperty &prop) const
template<typename ItemType>
QVariant readRole (const QModelIndex &index, int role, ItemType *gadget) const
template<typename ItemType>
QVariant readRole (const QModelIndex &index, int role, const ItemType &gadget) const
template<typename ItemType>
QVariant readProperty (const QModelIndex &index, ItemType *gadget) const
template<typename ItemType>
QVariant readProperty (const QModelIndex &index, 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)
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 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 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

Friends

template<typename, typename, typename>
class QRangeModelAdapter

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 1374 of file qrangemodel_impl.h.

Member Typedef Documentation

◆ AdjustSupportedDragActions

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::AdjustSupportedDragActions
Initial value:
Method<&Self::adjustSupportedDragActions > AdjustSupportedDragActions
typename Ancestor::template Override< BaseMethod, overridden > Override
Qt::DropActions adjustSupportedDragActions(Qt::DropActions dragActions)

Definition at line 3254 of file qrangemodel_impl.h.

◆ AdjustSupportedDropActions

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
using QRangeModelImpl< Structure, Range, Protocol >::AdjustSupportedDropActions
Initial value:
Method<&Self::adjustSupportedDropActions > AdjustSupportedDropActions
Qt::DropActions adjustSupportedDropActions(Qt::DropActions dropActions)

Definition at line 3256 of file qrangemodel_impl.h.

◆ 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 1416 of file qrangemodel_impl.h.

◆ AutoConnectPolicy

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

Definition at line 1500 of file qrangemodel_impl.h.

◆ CanDropMimeData

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

Definition at line 3260 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 3239 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 3228 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 1463 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 1405 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 3232 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 3223 of file qrangemodel_impl.h.

◆ DropMimeData

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

Definition at line 3261 of file qrangemodel_impl.h.

◆ DropOperation

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

Definition at line 1501 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 3229 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 3230 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 3224 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 3240 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 3243 of file qrangemodel_impl.h.

◆ InterfaceVersion

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

Definition at line 3251 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 3235 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 3233 of file qrangemodel_impl.h.

◆ Match

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

Definition at line 3253 of file qrangemodel_impl.h.

◆ MimeData

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

Definition at line 3262 of file qrangemodel_impl.h.

◆ MimeTypes

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

Definition at line 3259 of file qrangemodel_impl.h.

◆ ModelData

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

◆ 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 3242 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 3245 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 3247 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 3221 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 3225 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 1388 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 1387 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 1403 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 1381 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 1380 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 3241 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 3244 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 3234 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 1385 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 1462 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::adl_begin(std::declval<range_type&>()))

Definition at line 1382 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 1386 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 1383 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 3227 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 1415 of file qrangemodel_impl.h.

◆ SetAutoConnectPolicy

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

◆ 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 3237 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 3236 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 3238 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 3226 of file qrangemodel_impl.h.

◆ Sort

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

Definition at line 3252 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 1384 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 1513 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 3265 of file qrangemodel_impl.h.

Member Function Documentation

◆ adjustSupportedDragActions()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
Qt::DropActions QRangeModelImpl< Structure, Range, Protocol >::adjustSupportedDragActions ( Qt::DropActions dragActions)
inline

Definition at line 2795 of file qrangemodel_impl.h.

◆ adjustSupportedDropActions()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
Qt::DropActions QRangeModelImpl< Structure, Range, Protocol >::adjustSupportedDropActions ( Qt::DropActions dropActions)
inline

Definition at line 2800 of file qrangemodel_impl.h.

◆ autoConnectPropertiesInRow()

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

Definition at line 2161 of file qrangemodel_impl.h.

◆ canDropMimeData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::canDropMimeData ( const QMimeData * data,
Qt::DropAction action,
int row,
int column,
const QModelIndex & target ) const
inline

Definition at line 2819 of file qrangemodel_impl.h.

◆ canInsertRows()

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

Definition at line 3304 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 3324 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 3575 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 3566 of file qrangemodel_impl.h.

◆ clearConnectionInRow()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::clearConnectionInRow ( const row_type & row,
int rowIndex,
const QModelIndex & parent ) const
inline

Definition at line 2175 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 2119 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 2791 of file qrangemodel_impl.h.

◆ connectPropertyOnRead()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::connectPropertyOnRead ( const QModelIndex & index,
int role,
const QObject * gadget,
const QMetaProperty & prop ) const
inlineprotected

Definition at line 3419 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 1691 of file qrangemodel_impl.h.

◆ deleteOwnedRows()

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

Definition at line 3270 of file qrangemodel_impl.h.

Referenced by ~QRangeModelImpl().

Here is the caller graph for this function:

◆ destroy()

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

Definition at line 2793 of file qrangemodel_impl.h.

◆ doDropMimeData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<Qt::Orientation orient, typename Entry>
bool QRangeModelImpl< Structure, Range, Protocol >::doDropMimeData ( std::vector< QRangeModelDetails::DroppedEntry< Entry > > & droppedEntries,
DropOperation dropOperation,
int row,
int column,
const QModelIndex & target )
inline

Definition at line 2847 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 2510 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 2629 of file qrangemodel_impl.h.

◆ dropMimeData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::dropMimeData ( const QMimeData * data,
Qt::DropAction action,
int row,
int column,
const QModelIndex & target )
inline

Definition at line 2980 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 ( )
inlinestaticconstexpr

Definition at line 1511 of file qrangemodel_impl.h.

Referenced by moveColumns().

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

Definition at line 1510 of file qrangemodel_impl.h.

◆ fixedColumnCount()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr int QRangeModelImpl< Structure, Range, Protocol >::fixedColumnCount ( )
inlinestaticconstexpr

Definition at line 2784 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 1563 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 1667 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 1534 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 2547 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 2664 of file qrangemodel_impl.h.

◆ interfaceVersion()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::interfaceVersion ( int & versionNumber) const
inline

Definition at line 1523 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 1528 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 ( )
inlinestaticconstexpr

Definition at line 1504 of file qrangemodel_impl.h.

◆ isPrimaryRole()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::isPrimaryRole ( int role)
inlinestaticconstexpr

Definition at line 1707 of file qrangemodel_impl.h.

◆ isRangeModelRole()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
constexpr bool QRangeModelImpl< Structure, Range, Protocol >::isRangeModelRole ( int role)
inlinestaticconstexpr

Definition at line 1701 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 1712 of file qrangemodel_impl.h.

◆ match()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QModelIndexList QRangeModelImpl< Structure, Range, Protocol >::match ( const QModelIndex & start,
int role,
const QVariant & value,
int hits,
Qt::MatchFlags flags ) const
inline

Definition at line 2468 of file qrangemodel_impl.h.

◆ matchRow()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::matchRow ( const_row_reference row,
const QModelIndex & index,
int role,
const QVariant & value,
Qt::MatchFlags flags ) const
inline

Definition at line 2475 of file qrangemodel_impl.h.

◆ maybeBlockDataChangedDispatch()

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

Definition at line 1452 of file qrangemodel_impl.h.

Referenced by setData(), and setItemData().

Here is the caller graph for this function:

◆ mimeData()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QMimeData * QRangeModelImpl< Structure, Range, Protocol >::mimeData ( const QModelIndexList & indexes) const
inline

Definition at line 3198 of file qrangemodel_impl.h.

◆ mimeTypes()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
QStringList QRangeModelImpl< Structure, Range, Protocol >::mimeTypes ( ) const
inline

Definition at line 2808 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 2596 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 2743 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 1846 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 2780 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 ( )
inline

Definition at line 2778 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
inline

Definition at line 2777 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 3356 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 3364 of file qrangemodel_impl.h.

◆ readAt()

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

Definition at line 3348 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 3461 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 ( const QModelIndex & index,
const ItemType & gadget ) const
inlineprotected

Definition at line 3483 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 ( const QModelIndex & index,
ItemType * gadget ) const
inlineprotected

Definition at line 3470 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 ( const QModelIndex & index,
int role,
const ItemType & gadget ) const
inlineprotected

Definition at line 3455 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 ( const QModelIndex & index,
int role,
ItemType * gadget ) const
inlineprotected

Definition at line 3436 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 2559 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 2687 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 3548 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 3528 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 2153 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 3397 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 2782 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 3560 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 3554 of file qrangemodel_impl.h.

◆ setAutoConnectPolicy()

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

Definition at line 2189 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 1854 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 1531 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 2009 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 1544 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 1422 of file qrangemodel_impl.h.

◆ sort()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
void QRangeModelImpl< Structure, Range, Protocol >::sort ( int column,
Qt::SortOrder order )
inline

Definition at line 2353 of file qrangemodel_impl.h.

◆ sortSubRange()

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
template<typename LessThan>
void QRangeModelImpl< Structure, Range, Protocol >::sortSubRange ( range_type & range,
row_ptr expectedParent,
const LessThan & lessThan )
inline

Definition at line 2389 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 1418 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 1419 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 1994 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 2004 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 3376 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 3389 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 3330 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 3506 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 3522 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 3514 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 3500 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 3489 of file qrangemodel_impl.h.

◆ QRangeModelAdapter

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

Definition at line 3584 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 1466 of file qrangemodel_impl.h.

◆ itemsAreQObjects

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::itemsAreQObjects
staticconstexpr
Initial value:
= std::is_base_of_v<QObject, std::remove_pointer_t<
\inmodule QtCore
Definition qobject.h:106
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 1390 of file qrangemodel_impl.h.

Referenced by doInsertColumns(), doInsertRows(), maybeBlockDataChangedDispatch(), removeColumns(), setAutoConnectPolicy(), and setData().

◆ 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 3586 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 1450 of file qrangemodel_impl.h.

Referenced by fixedColumnCount().

◆ 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_owning_ptr< T >, std::is_pointer< T > > is_owning_or_raw_pointer

Definition at line 1447 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 1446 of file qrangemodel_impl.h.

Referenced by deleteOwnedRows().

◆ rowsAreQObjects

template<typename Structure, typename Range, typename Protocol = QRangeModelDetails::table_protocol_t<Range>>
bool QRangeModelImpl< Structure, Range, Protocol >::rowsAreQObjects
staticconstexpr
Initial value:
= std::is_base_of_v<QObject, wrapped_row_type>

Definition at line 1392 of file qrangemodel_impl.h.

Referenced by doInsertRows(), maybeBlockDataChangedDispatch(), setAutoConnectPolicy(), and setData().

◆ 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 1449 of file qrangemodel_impl.h.

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

◆ 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 1445 of file qrangemodel_impl.h.

Referenced by dynamicRows().


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