QMetaContainer Class

Die Klasse QMetaContainer bietet gemeinsame Funktionen für sequentielle und assoziative Container. Mehr...

Kopfzeile: #include <QMetaContainer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Seit: Qt 6.0
Vererbt von:

QMetaSequence

Diese Klasse ist gleichwertig-vergleichbar.

Öffentliche Funktionen

void advanceConstIterator(void *iterator, qsizetype step) const
void advanceIterator(void *iterator, qsizetype step) const
void *begin(void *container) const
bool canClear() const
void clear(void *container) const
bool compareConstIterator(const void *i, const void *j) const
bool compareIterator(const void *i, const void *j) const
void *constBegin(const void *container) const
void *constEnd(const void *container) const
void copyConstIterator(void *target, const void *source) const
void copyIterator(void *target, const void *source) const
void destroyConstIterator(const void *iterator) const
void destroyIterator(const void *iterator) const
qsizetype diffConstIterator(const void *i, const void *j) const
qsizetype diffIterator(const void *i, const void *j) const
void *end(void *container) const
bool hasBidirectionalIterator() const
bool hasConstIterator() const
bool hasForwardIterator() const
bool hasInputIterator() const
bool hasIterator() const
bool hasRandomAccessIterator() const
bool hasSize() const
qsizetype size(const void *container) const

Detaillierte Beschreibung

Dokumentation der Mitgliedsfunktionen

void QMetaContainer::advanceConstIterator(void *iterator, qsizetype step) const

Schiebt die Konstante iterator um step Schritte vor. Wenn step negativ ist, wird iterator nach hinten, zum Anfang des Containers, verschoben. Das Verhalten ist für negative Werte von step nicht spezifiziert, wenn hasBidirectionalIterator() false zurückgibt.

Siehe auch constBegin() und constEnd().

void QMetaContainer::advanceIterator(void *iterator, qsizetype step) const

Schiebt die Nicht-Konstante iterator um step Schritte vor. Wenn step negativ ist, wird iterator nach hinten, zum Anfang des Containers, verschoben. Das Verhalten ist für negative Werte von step nicht spezifiziert, wenn hasBidirectionalIterator() false zurückgibt.

Siehe auch begin() und end().

void *QMetaContainer::begin(void *container) const

Erzeugt und gibt einen nicht-konstanten Iterator zurück, der auf den Anfang von container zeigt. Der Iterator wird mit new auf dem Heap alloziert. Er muss schließlich mit destroyIterator zerstört werden, um den Speicher zurückzugewinnen.

Gibt nullptr zurück, wenn der Container keine nicht-konstanten Iteratoren anbietet.

Siehe auch end(), constBegin(), constEnd(), und destroyIterator().

bool QMetaContainer::canClear() const

Gibt true zurück, wenn der Container geleert werden kann, andernfalls false.

Siehe auch clear().

void QMetaContainer::clear(void *container) const

Löscht die angegebene container, wenn sie gelöscht werden kann.

Siehe auch canClear().

bool QMetaContainer::compareConstIterator(const void *i, const void *j) const

Gibt true zurück, wenn die Konstanten-Iteratoren i und j auf denselben Wert in dem Container zeigen, über den sie iterieren, andernfalls wird false zurückgegeben.

Siehe auch constBegin() und constEnd().

bool QMetaContainer::compareIterator(const void *i, const void *j) const

Gibt true zurück, wenn die Nicht-Konst-Iteratoren i und j auf denselben Wert in dem Container zeigen, über den sie iterieren, andernfalls wird false zurückgegeben.

Siehe auch begin() und end().

void *QMetaContainer::constBegin(const void *container) const

Erzeugt und gibt einen konstanten Iterator zurück, der auf den Anfang von container zeigt. Der Iterator wird mit new auf dem Heap alloziert. Er muss schließlich mit destroyConstIterator zerstört werden, um den Speicher zurückzugewinnen.

Gibt nullptr zurück, wenn der Container keine konstanten Iteratoren anbietet.

Siehe auch constEnd(), begin(), end(), und destroyConstIterator().

void *QMetaContainer::constEnd(const void *container) const

Erzeugt und gibt einen konstanten Iterator zurück, der auf das Ende von container zeigt. Der Iterator wird mit new auf dem Heap alloziert. Er muss schließlich mit destroyConstIterator zerstört werden, um den Speicher zurückzugewinnen.

Gibt nullptr zurück, wenn der Container keine konstanten Iteratoren anbietet.

Siehe auch constBegin(), begin(), end(), und destroyConstIterator().

void QMetaContainer::copyConstIterator(void *target, const void *source) const

Kopiert den Konstanten-Iterator source in den Konstanten-Iterator target. Anschließend gibt compareConstIterator(Ziel, Quelle) true zurück.

Siehe auch constBegin() und constEnd().

void QMetaContainer::copyIterator(void *target, const void *source) const

Kopiert den Nicht-Konst-Iterator source in den Nicht-Konst-Iterator target. Anschließend gibt compareIterator(Ziel, Quelle) true zurück.

Siehe auch begin() und end().

void QMetaContainer::destroyConstIterator(const void *iterator) const

Zerstört eine Konstante iterator, die zuvor mit constBegin() oder constEnd() erstellt wurde.

Siehe auch constBegin(), constEnd(), und destroyIterator().

void QMetaContainer::destroyIterator(const void *iterator) const

Zerstört eine nicht-konstante iterator, die zuvor mit begin() oder end() erstellt wurde.

Siehe auch begin(), end(), und destroyConstIterator().

qsizetype QMetaContainer::diffConstIterator(const void *i, const void *j) const

Liefert den Abstand zwischen den Konstanten Iteratoren i und j, das Äquivalent von i - j . Wenn j näher am Ende des Containers liegt als i, ist der zurückgegebene Wert negativ. Das Verhalten ist in diesem Fall nicht spezifiziert, wenn hasBidirectionalIterator() false zurückgibt.

Siehe auch constBegin() und constEnd().

qsizetype QMetaContainer::diffIterator(const void *i, const void *j) const

Liefert den Abstand zwischen den Nicht-Konst-Iteratoren i und j, dem Äquivalent von i - j . Wenn j näher am Ende des Containers liegt als i, ist der zurückgegebene Wert negativ. Das Verhalten ist in diesem Fall nicht spezifiziert, wenn hasBidirectionalIterator() false zurückgibt.

Siehe auch begin() und end().

void *QMetaContainer::end(void *container) const

Erzeugt einen Nicht-Konst-Iterator, der auf das Ende von container zeigt, und gibt ihn zurück. Der Iterator wird mit new auf dem Heap alloziert. Er muss schließlich mit destroyIterator zerstört werden, um den Speicher zurückzugewinnen.

Gibt nullptr zurück, wenn der Container keine nicht-konstanten Iteratoren anbietet.

Siehe auch hasIterator(), end(), constBegin(), constEnd(), und destroyIterator().

bool QMetaContainer::hasBidirectionalIterator() const

Gibt true zurück, wenn der zugrunde liegende Container einen bidirektionalen Iterator oder einen Iterator mit wahlfreiem Zugriff gemäß der Definition von std::bidirectional_iterator_tag bzw. std::random_access_iterator_tag bietet. Andernfalls wird false zurückgegeben.

QMetaSequence geht davon aus, dass const- und non-const-Iteratoren für denselben Container dieselben Iterator-Eigenschaften haben.

bool QMetaContainer::hasConstIterator() const

Gibt true zurück, wenn der zugrunde liegende Container einen konstanten Iterator bietet, andernfalls false.

Siehe auch constBegin(), constEnd(), destroyConstIterator(), compareConstIterator(), diffConstIterator(), advanceConstIterator(), und copyConstIterator().

bool QMetaContainer::hasForwardIterator() const

Gibt true zurück, wenn der zugrunde liegende Container mindestens einen Vorwärts-Iterator gemäß der Definition von std::forward_iterator_tag bereitstellt, andernfalls false. Bidirektionale Iteratoren und Iteratoren mit wahlfreiem Zugriff sind Spezialisierungen von Vorwärts-Iteratoren. Diese Methode gibt auch true zurück, wenn der Container einen dieser Iteratoren bereitstellt.

QMetaSequence geht davon aus, dass konstante und nicht-konstante Iteratoren für denselben Container dieselben Iterator-Eigenschaften haben.

bool QMetaContainer::hasInputIterator() const

Gibt true zurück, wenn der zugrundeliegende Container mindestens einen Input-Iterator im Sinne von std::input_iterator_tag bereitstellt, andernfalls false. Vorwärts-Iteratoren, bidirektionale Iteratoren und Iteratoren mit wahlfreiem Zugriff sind Spezialisierungen von input-Iteratoren. Diese Methode gibt auch true zurück, wenn der Container einen dieser Iteratoren bereitstellt.

QMetaSequence geht davon aus, dass konstante und nicht-konstante Iteratoren für denselben Container dieselben Iterator-Eigenschaften haben.

bool QMetaContainer::hasIterator() const

Gibt true zurück, wenn der zugrunde liegende Container einen Nicht-Konst-Iterator anbietet, andernfalls false.

Siehe auch begin(), end(), destroyIterator(), compareIterator(), diffIterator(), advanceIterator(), und copyIterator().

bool QMetaContainer::hasRandomAccessIterator() const

Gibt true zurück, wenn der zugrunde liegende Container einen Iterator mit wahlfreiem Zugriff gemäß der Definition von std::random_access_iterator_tag bereitstellt, andernfalls false.

QMetaSequence geht davon aus, dass Konst- und Nicht-Konst-Iteratoren für denselben Container dieselben Iterator-Eigenschaften haben.

bool QMetaContainer::hasSize() const

Gibt true zurück, wenn der Container nach seiner Größe abgefragt werden kann, andernfalls false.

Siehe auch size().

qsizetype QMetaContainer::size(const void *container) const

Gibt die Anzahl der Werte im angegebenen container zurück, wenn dessen Größe abgefragt werden kann. Andernfalls wird -1 zurückgegeben.

Siehe auch hasSize().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.