Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QMetaSequence Class Reference

\inmodule QtCore More...

#include <qmetacontainer.h>

+ Inheritance diagram for QMetaSequence:
+ Collaboration diagram for QMetaSequence:

Public Member Functions

 QMetaSequence ()=default
 
 QMetaSequence (const QtMetaContainerPrivate::QMetaSequenceInterface *d)
 
QMetaType valueMetaType () const
 Returns the meta type for values stored in the container.
 
bool isSortable () const
 Returns true if the underlying container is sortable, otherwise returns false.
 
bool canAddValueAtBegin () const
 Returns true if values added using \l addValue() can be placed at the beginning of the container, otherwise returns false.
 
void addValueAtBegin (void *container, const void *value) const
 Adds value to the beginning of container if possible.
 
bool canAddValueAtEnd () const
 Returns true if values added using \l addValue() can be placed at the end of the container, otherwise returns false.
 
void addValueAtEnd (void *container, const void *value) const
 Adds value to the end of container if possible.
 
bool canRemoveValueAtBegin () const
 Returns true if values can be removed from the beginning of the container using \l removeValue() can be placed at the, otherwise returns false.
 
void removeValueAtBegin (void *container) const
 Removes a value from the beginning of container if possible.
 
bool canRemoveValueAtEnd () const
 Returns true if values can be removed from the end of the container using \l removeValue() can be placed at the, otherwise returns false.
 
void removeValueAtEnd (void *container) const
 Removes a value from the end of container if possible.
 
bool canGetValueAtIndex () const
 Returns true if values can be retrieved from the container by index, otherwise false.
 
void valueAtIndex (const void *container, qsizetype index, void *result) const
 Retrieves the value at index in the container and places it in the memory location pointed to by result, if that is possible.
 
bool canSetValueAtIndex () const
 Returns true if an value can be written to the container by index, otherwise false.
 
void setValueAtIndex (void *container, qsizetype index, const void *value) const
 Overwrites the value at index in the container using the value passed as parameter if that is possible.
 
bool canAddValue () const
 Returns true if values can be added to the container, false otherwise.
 
void addValue (void *container, const void *value) const
 Adds value to the container if possible.
 
bool canRemoveValue () const
 Returns true if values can be removed from the container, false otherwise.
 
void removeValue (void *container) const
 Removes an value from the container if possible.
 
bool canGetValueAtIterator () const
 Returns true if the underlying container can retrieve the value pointed to by a non-const iterator, false otherwise.
 
void valueAtIterator (const void *iterator, void *result) const
 Retrieves the value pointed to by the non-const iterator and stores it in the memory location pointed to by result, if possible.
 
bool canSetValueAtIterator () const
 Returns true if the underlying container can write to the value pointed to by a non-const iterator, false otherwise.
 
void setValueAtIterator (const void *iterator, const void *value) const
 Writes value to the value pointed to by the non-const iterator, if possible.
 
bool canInsertValueAtIterator () const
 Returns true if the underlying container can insert a new value, taking the location pointed to by a non-const iterator into account.
 
void insertValueAtIterator (void *container, const void *iterator, const void *value) const
 Inserts value into the container, if possible, taking the non-const iterator into account.
 
bool canEraseValueAtIterator () const
 Returns true if the value pointed to by a non-const iterator can be erased, false otherwise.
 
void eraseValueAtIterator (void *container, const void *iterator) const
 Erases the value pointed to by the non-const iterator from the container, if possible.
 
bool canEraseRangeAtIterator () const
 Returns true if a range between two iterators can be erased from the container, false otherwise.
 
void eraseRangeAtIterator (void *container, const void *iterator1, const void *iterator2) const
 Erases the range of values between the iterators iterator1 and iterator2 from the container, if possible.
 
bool canGetValueAtConstIterator () const
 Returns true if the underlying container can retrieve the value pointed to by a const iterator, false otherwise.
 
void valueAtConstIterator (const void *iterator, void *result) const
 Retrieves the value pointed to by the const iterator and stores it in the memory location pointed to by result, if possible.
 
const QtMetaContainerPrivate::QMetaSequenceInterfaceiface () const
 
- Public Member Functions inherited from QMetaContainer
 QMetaContainer ()=default
 
 QMetaContainer (const QtMetaContainerPrivate::QMetaContainerInterface *d)
 
bool hasInputIterator () const
 Returns true if the underlying container provides at least an input iterator as defined by std::input_iterator_tag, otherwise returns false.
 
bool hasForwardIterator () const
 Returns true if the underlying container provides at least a forward iterator as defined by std::forward_iterator_tag, otherwise returns false.
 
bool hasBidirectionalIterator () const
 Returns true if the underlying container provides a bi-directional iterator or a random access iterator as defined by std::bidirectional_iterator_tag and std::random_access_iterator_tag, respectively.
 
bool hasRandomAccessIterator () const
 Returns true if the underlying container provides a random access iterator as defined by std::random_access_iterator_tag, otherwise returns false.
 
bool hasSize () const
 Returns true if the container can be queried for its size, false otherwise.
 
qsizetype size (const void *container) const
 Returns the number of values in the given container if it can be queried for its size.
 
bool canClear () const
 Returns true if the container can be cleared, false otherwise.
 
void clear (void *container) const
 Clears the given container if it can be cleared.
 
bool hasIterator () const
 Returns true if the underlying container offers a non-const iterator, false otherwise.
 
voidbegin (void *container) const
 Creates and returns a non-const iterator pointing to the beginning of container.
 
voidend (void *container) const
 Creates and returns a non-const iterator pointing to the end of container.
 
void destroyIterator (const void *iterator) const
 Destroys a non-const iterator previously created using \l begin() or \l end().
 
bool compareIterator (const void *i, const void *j) const
 Returns true if the non-const iterators i and j point to the same value in the container they are iterating over, otherwise returns false.
 
void copyIterator (void *target, const void *source) const
 Copies the non-const iterator source into the non-const iterator target.
 
void advanceIterator (void *iterator, qsizetype step) const
 Advances the non-const iterator by step steps.
 
qsizetype diffIterator (const void *i, const void *j) const
 Returns the distance between the non-const iterators i and j, the equivalent of i - j.
 
bool hasConstIterator () const
 Returns true if the underlying container offers a const iterator, false otherwise.
 
voidconstBegin (const void *container) const
 Creates and returns a const iterator pointing to the beginning of container.
 
voidconstEnd (const void *container) const
 Creates and returns a const iterator pointing to the end of container.
 
void destroyConstIterator (const void *iterator) const
 Destroys a const iterator previously created using \l constBegin() or \l constEnd().
 
bool compareConstIterator (const void *i, const void *j) const
 Returns true if the const iterators i and j point to the same value in the container they are iterating over, otherwise returns false.
 
void copyConstIterator (void *target, const void *source) const
 Copies the const iterator source into the const iterator target.
 
void advanceConstIterator (void *iterator, qsizetype step) const
 Advances the const iterator by step steps.
 
qsizetype diffConstIterator (const void *i, const void *j) const
 Returns the distance between the const iterators i and j, the equivalent of i - j.
 

Static Public Member Functions

template<typename T >
static constexpr QMetaSequence fromContainer ()
 

Friends

bool comparesEqual (const QMetaSequence &lhs, const QMetaSequence &rhs) noexcept
 

Additional Inherited Members

- Protected Attributes inherited from QMetaContainer
const QtMetaContainerPrivate::QMetaContainerInterfaced_ptr = nullptr
 

Detailed Description

\inmodule QtCore

Since
6.0

The QMetaSequence class allows type erased access to sequential containers.

\compares equality

The class provides a number of primitive container operations, using void* as operands. This way, you can manipulate a generic container retrieved from a Variant without knowing its type.

The void* arguments to the various methods are typically created by using a \l QVariant of the respective container or value type, and calling its \l QVariant::data() or \l QVariant::constData() methods. However, you can also pass plain pointers to objects of the container or value type.

Iterator invalidation follows the rules given by the underlying containers and is not expressed in the API. Therefore, for a truly generic container, any iterators should be considered invalid after any write operation.

Definition at line 925 of file qmetacontainer.h.

Constructor & Destructor Documentation

◆ QMetaSequence() [1/2]

QMetaSequence::QMetaSequence ( )
default

◆ QMetaSequence() [2/2]

QMetaSequence::QMetaSequence ( const QtMetaContainerPrivate::QMetaSequenceInterface * d)
inlineexplicit

Definition at line 929 of file qmetacontainer.h.

Member Function Documentation

◆ addValue()

void QMetaSequence::addValue ( void * container,
const void * value ) const

Adds value to the container if possible.

If \l canAddValue() returns false, the value is not added. Else, if \l canAddValueAtEnd() returns true, the value is added to the end of the container. Else, if \l canAddValueAtBegin() returns true, the value is added to the beginning of the container. Else, the value is added in an unspecified place or not at all. The latter is the case for adding values to an unordered container, for example \l QSet.

See also
canAddValue(), canAddValueAtBegin(), canAddValueAtEnd(), isSortable(), removeValue()

Definition at line 365 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, canAddValue(), and QtMetaContainerPrivate::QMetaContainerInterface::Unspecified.

Referenced by QSequentialIterable::addValue(), and QQmlPropertyPrivate::write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addValueAtBegin()

void QMetaSequence::addValueAtBegin ( void * container,
const void * value ) const

Adds value to the beginning of container if possible.

If \l canAddValueAtBegin() returns false, the value is not added.

See also
canAddValueAtBegin(), isSortable(), removeValueAtBegin()

Definition at line 159 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, QtMetaContainerPrivate::QMetaContainerInterface::AtBegin, and canAddValueAtBegin().

Referenced by QSequentialIterable::addValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addValueAtEnd()

void QMetaSequence::addValueAtEnd ( void * container,
const void * value ) const

Adds value to the end of container if possible.

If \l canAddValueAtEnd() returns false, the value is not added.

See also
canAddValueAtEnd(), isSortable(), removeValueAtEnd()

Definition at line 213 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, QtMetaContainerPrivate::QMetaContainerInterface::AtEnd, and canAddValueAtEnd().

Referenced by QSequentialIterable::addValue(), and QV4::SequencePrototype::toVariant().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canAddValue()

bool QMetaSequence::canAddValue ( ) const

Returns true if values can be added to the container, false otherwise.

See also
addValue(), isSortable()

Definition at line 345 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, and iface().

Referenced by addValue(), and QQmlPropertyPrivate::write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canAddValueAtBegin()

bool QMetaSequence::canAddValueAtBegin ( ) const

Returns true if values added using \l addValue() can be placed at the beginning of the container, otherwise returns false.

See also
addValueAtBegin(), canAddValueAtEnd()

Definition at line 144 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addRemoveCapabilities, QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, QtMetaContainerPrivate::CanAddAtBegin, and iface().

Referenced by addValueAtBegin().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canAddValueAtEnd()

bool QMetaSequence::canAddValueAtEnd ( ) const

Returns true if values added using \l addValue() can be placed at the end of the container, otherwise returns false.

See also
addValueAtEnd(), canAddValueAtBegin()

Definition at line 198 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addRemoveCapabilities, QtMetaContainerPrivate::QMetaSequenceInterface::addValueFn, QtMetaContainerPrivate::CanAddAtEnd, and iface().

Referenced by addValueAtEnd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canEraseRangeAtIterator()

bool QMetaSequence::canEraseRangeAtIterator ( ) const

Returns true if a range between two iterators can be erased from the container, false otherwise.

Definition at line 632 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::eraseRangeAtIteratorFn, and iface().

Referenced by eraseRangeAtIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canEraseValueAtIterator()

bool QMetaSequence::canEraseValueAtIterator ( ) const

Returns true if the value pointed to by a non-const iterator can be erased, false otherwise.

See also
hasIterator(), eraseValueAtIterator()

Definition at line 609 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::eraseValueAtIteratorFn, and iface().

Referenced by eraseValueAtIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canGetValueAtConstIterator()

bool QMetaSequence::canGetValueAtConstIterator ( ) const

Returns true if the underlying container can retrieve the value pointed to by a const iterator, false otherwise.

See also
hasConstIterator(), valueAtConstIterator()

Definition at line 775 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtConstIteratorFn.

Referenced by QSequentialIterable::at(), QV4::ExecutionEngine::fromData(), iterateQObjectContainer(), QQmlListAccessor::setList(), and valueAtConstIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canGetValueAtIndex()

bool QMetaSequence::canGetValueAtIndex ( ) const

Returns true if values can be retrieved from the container by index, otherwise false.

See also
valueAtIndex()

Definition at line 295 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtIndexFn.

Referenced by QSequentialIterable::at(), QV4::ExecutionEngine::fromData(), QQmlListAccessor::setList(), and valueAtIndex().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canGetValueAtIterator()

bool QMetaSequence::canGetValueAtIterator ( ) const

Returns true if the underlying container can retrieve the value pointed to by a non-const iterator, false otherwise.

See also
hasIterator(), valueAtIterator()

Definition at line 527 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtIteratorFn.

Referenced by valueAtIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canInsertValueAtIterator()

bool QMetaSequence::canInsertValueAtIterator ( ) const

Returns true if the underlying container can insert a new value, taking the location pointed to by a non-const iterator into account.

See also
hasIterator(), insertValueAtIterator()

Definition at line 577 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::insertValueAtIteratorFn.

Referenced by insertValueAtIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canRemoveValue()

bool QMetaSequence::canRemoveValue ( ) const

Returns true if values can be removed from the container, false otherwise.

See also
removeValue(), isSortable()

Definition at line 379 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn.

Referenced by removeValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canRemoveValueAtBegin()

bool QMetaSequence::canRemoveValueAtBegin ( ) const

Returns true if values can be removed from the beginning of the container using \l removeValue() can be placed at the, otherwise returns false.

See also
removeValueAtBegin(), canRemoveValueAtEnd()

Definition at line 171 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addRemoveCapabilities, QtMetaContainerPrivate::CanRemoveAtBegin, iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn.

Referenced by removeValueAtBegin().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canRemoveValueAtEnd()

bool QMetaSequence::canRemoveValueAtEnd ( ) const

Returns true if values can be removed from the end of the container using \l removeValue() can be placed at the, otherwise returns false.

See also
removeValueAtEnd(), canRemoveValueAtBegin()

Definition at line 225 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addRemoveCapabilities, QtMetaContainerPrivate::CanRemoveAtEnd, iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn.

Referenced by removeValueAtEnd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canSetValueAtIndex()

bool QMetaSequence::canSetValueAtIndex ( ) const

Returns true if an value can be written to the container by index, otherwise false.

See also
setValueAtIndex()

Definition at line 320 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::setValueAtIndexFn.

Referenced by QSequentialIterable::set(), and setValueAtIndex().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canSetValueAtIterator()

bool QMetaSequence::canSetValueAtIterator ( ) const

Returns true if the underlying container can write to the value pointed to by a non-const iterator, false otherwise.

See also
hasIterator(), setValueAtIterator()

Definition at line 552 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::setValueAtIteratorFn.

Referenced by QSequentialIterable::set(), and setValueAtIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ eraseRangeAtIterator()

void QMetaSequence::eraseRangeAtIterator ( void * container,
const void * iterator1,
const void * iterator2 ) const

Erases the range of values between the iterators iterator1 and iterator2 from the container, if possible.

See also
canEraseValueAtIterator(), begin(), end()

Definition at line 645 of file qmetacontainer.cpp.

References canEraseRangeAtIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::eraseRangeAtIteratorFn.

+ Here is the call graph for this function:

◆ eraseValueAtIterator()

void QMetaSequence::eraseValueAtIterator ( void * container,
const void * iterator ) const

Erases the value pointed to by the non-const iterator from the container, if possible.

See also
canEraseValueAtIterator(), begin(), end()

Definition at line 622 of file qmetacontainer.cpp.

References canEraseValueAtIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::eraseValueAtIteratorFn.

+ Here is the call graph for this function:

◆ fromContainer()

template<typename T >
template< typename C > QMetaSequence QMetaSequence::fromContainer ( )
inlinestaticconstexpr
Since
6.0

Returns the QMetaSequence corresponding to the type given as template parameter.

Definition at line 932 of file qmetacontainer.h.

◆ iface()

const QtMetaContainerPrivate::QMetaSequenceInterface * QMetaSequence::iface ( ) const
inline

Definition at line 979 of file qmetacontainer.h.

References d.

Referenced by canAddValue(), canAddValueAtBegin(), canAddValueAtEnd(), canEraseRangeAtIterator(), canEraseValueAtIterator(), canGetValueAtConstIterator(), canGetValueAtIndex(), canGetValueAtIterator(), canInsertValueAtIterator(), canRemoveValue(), canRemoveValueAtBegin(), canRemoveValueAtEnd(), canSetValueAtIndex(), canSetValueAtIterator(), isSortable(), and valueMetaType().

+ Here is the caller graph for this function:

◆ insertValueAtIterator()

void QMetaSequence::insertValueAtIterator ( void * container,
const void * iterator,
const void * value ) const

Inserts value into the container, if possible, taking the non-const iterator into account.

If \l canInsertValueAtIterator() returns false, the value is not inserted. Else if \l isSortable() returns true, the value is inserted before the value pointed to by iterator. Else, the value is inserted at an unspecified place or not at all. In the latter case, the iterator is taken as a hint. If it points to the correct place for the value, the operation may be faster than a \l addValue() without iterator.

See also
canInsertValueAtIterator(), isSortable(), begin(), end()

Definition at line 596 of file qmetacontainer.cpp.

References canInsertValueAtIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::insertValueAtIteratorFn.

+ Here is the call graph for this function:

◆ isSortable()

bool QMetaSequence::isSortable ( ) const

Returns true if the underlying container is sortable, otherwise returns false.

A container is considered sortable if values added to it are placed in a defined location. Inserting into or adding to a sortable container will always succeed. Inserting into or adding to an unsortable container may not succeed, for example if the container is a QSet that already contains the value being inserted.

See also
addValue(), insertValueAtIterator(), canAddValueAtBegin(), canAddValueAtEnd(), canRemoveValueAtBegin(), canRemoveValueAtEnd()

Definition at line 126 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaSequenceInterface::addRemoveCapabilities, QtMetaContainerPrivate::CanAddAtBegin, QtMetaContainerPrivate::CanAddAtEnd, QtMetaContainerPrivate::CanRemoveAtBegin, QtMetaContainerPrivate::CanRemoveAtEnd, and iface().

+ Here is the call graph for this function:

◆ removeValue()

void QMetaSequence::removeValue ( void * container) const

Removes an value from the container if possible.

If \l canRemoveValue() returns false, no value is removed. Else, if \l canRemoveValueAtEnd() returns true, the last value in the container is removed. Else, if \l canRemoveValueAtBegin() returns true, the first value in the container is removed. Else, an unspecified value or nothing is removed.

See also
canRemoveValue(), canRemoveValueAtBegin(), canRemoveValueAtEnd(), isSortable(), addValue()

Definition at line 397 of file qmetacontainer.cpp.

References canRemoveValue(), QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn, and QtMetaContainerPrivate::QMetaContainerInterface::Unspecified.

Referenced by QSequentialIterable::removeValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeValueAtBegin()

void QMetaSequence::removeValueAtBegin ( void * container) const

Removes a value from the beginning of container if possible.

If \l canRemoveValueAtBegin() returns false, the value is not removed.

See also
canRemoveValueAtBegin(), isSortable(), addValueAtBegin()

Definition at line 186 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaContainerInterface::AtBegin, canRemoveValueAtBegin(), and QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn.

Referenced by QSequentialIterable::removeValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeValueAtEnd()

void QMetaSequence::removeValueAtEnd ( void * container) const

Removes a value from the end of container if possible.

If \l canRemoveValueAtEnd() returns false, the value is not removed.

See also
canRemoveValueAtEnd(), isSortable(), addValueAtEnd()

Definition at line 240 of file qmetacontainer.cpp.

References QtMetaContainerPrivate::QMetaContainerInterface::AtEnd, canRemoveValueAtEnd(), and QtMetaContainerPrivate::QMetaSequenceInterface::removeValueFn.

Referenced by QSequentialIterable::removeValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setValueAtIndex()

void QMetaSequence::setValueAtIndex ( void * container,
qsizetype index,
const void * value ) const

Overwrites the value at index in the container using the value passed as parameter if that is possible.

See also
canSetValueAtIndex()

Definition at line 333 of file qmetacontainer.cpp.

References canSetValueAtIndex(), and QtMetaContainerPrivate::QMetaSequenceInterface::setValueAtIndexFn.

Referenced by QSequentialIterable::set(), QQmlListAccessor::set(), and QV4::Sequence::virtualMetacall().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setValueAtIterator()

void QMetaSequence::setValueAtIterator ( const void * iterator,
const void * value ) const

Writes value to the value pointed to by the non-const iterator, if possible.

See also
canSetValueAtIterator(), begin(), end()

Definition at line 565 of file qmetacontainer.cpp.

References canSetValueAtIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::setValueAtIteratorFn.

Referenced by QSequentialIterable::set().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ valueAtConstIterator()

void QMetaSequence::valueAtConstIterator ( const void * iterator,
void * result ) const

Retrieves the value pointed to by the const iterator and stores it in the memory location pointed to by result, if possible.

See also
canGetValueAtConstIterator(), constBegin(), constEnd()

Definition at line 788 of file qmetacontainer.cpp.

References canGetValueAtConstIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtConstIteratorFn.

Referenced by QSequentialIterable::at(), and iterateQObjectContainer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ valueAtIndex()

void QMetaSequence::valueAtIndex ( const void * container,
qsizetype index,
void * result ) const

Retrieves the value at index in the container and places it in the memory location pointed to by result, if that is possible.

See also
canGetValueAtIndex()

Definition at line 308 of file qmetacontainer.cpp.

References canGetValueAtIndex(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtIndexFn.

Referenced by QSequentialIterable::at(), QQmlListAccessor::at(), and QV4::Sequence::virtualMetacall().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ valueAtIterator()

void QMetaSequence::valueAtIterator ( const void * iterator,
void * result ) const

Retrieves the value pointed to by the non-const iterator and stores it in the memory location pointed to by result, if possible.

See also
canGetValueAtIterator(), begin(), end()

Definition at line 540 of file qmetacontainer.cpp.

References canGetValueAtIterator(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueAtIteratorFn.

+ Here is the call graph for this function:

◆ valueMetaType()

QMetaType QMetaSequence::valueMetaType ( ) const

Returns the meta type for values stored in the container.

Definition at line 108 of file qmetacontainer.cpp.

References iface(), and QtMetaContainerPrivate::QMetaSequenceInterface::valueMetaType.

Referenced by QQmlListAccessor::at(), QQmlMetaType::registerSequentialContainer(), QQmlListAccessor::set(), and QV4::Sequence::virtualMetacall().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ comparesEqual

bool comparesEqual ( const QMetaSequence & lhs,
const QMetaSequence & rhs )
friend

Definition at line 982 of file qmetacontainer.h.


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