Spec-Zone.ru › Qt 6.1

Класс QMetaSequence

Класс QMetaSequence позволяет получить тип последовательных контейнеров. Подробнее...

Заголовок: #include <QMetaSequence>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 6.0
Наследует: QMetaContainer
  • Список всех членов, включая унаследованные

Открытые функции

void addValue(void *container, const void *value) const
void addValueAtBegin(void *container, const void *value) const
void addValueAtEnd(void *container, const void *value) const
bool canAddValue() const
bool canAddValueAtBegin() const
bool canAddValueAtEnd() const
bool canEraseRangeAtIterator() const
bool canEraseValueAtIterator() const
bool canGetValueAtConstIterator() const
bool canGetValueAtIndex() const
bool canGetValueAtIterator() const
bool canInsertValueAtIterator() const
bool canRemoveValue() const
bool canRemoveValueAtBegin() const
bool canRemoveValueAtEnd() const
bool canSetValueAtIndex() const
bool canSetValueAtIterator() const
void eraseRangeAtIterator(void *container, const void *iterator1, const void *iterator2) const
void eraseValueAtIterator(void *container, const void *iterator) const
void insertValueAtIterator(void *container, const void *iterator, const void *value) const
bool isSortable() const
void removeValue(void *container) const
void removeValueAtBegin(void *container) const
void removeValueAtEnd(void *container) const
void setValueAtIndex(void *container, qsizetype index, const void *value) const
void setValueAtIterator(const void *iterator, const void *value) const
void valueAtConstIterator(const void *iterator, void *result) const
void valueAtIndex(const void *container, qsizetype index, void *result) const
void valueAtIterator(const void *iterator, void *result) const
QMetaType valueMetaType() const

Статические открытые члены

QMetaSequence fromContainer()

Подробное описание

Класс предоставляет ряд примитивных операций с контейнерами, используя void* в качестве операндов. Таким образом, вы можете манипулировать универсальным контейнером, полученным из QVariant, не зная его типа.

Аргументы void* для различных методов обычно создаются с помощью QVariant соответствующего типа контейнера или значения и вызова методов QVariant::data() или QVariant::constData(). Однако вы также можете передавать обычные указатели на объекты типа контейнера или значения.

Недействительность итераторов соответствует правилам, заданным базовыми контейнерами, и не выражена в API. Поэтому для истинно универсального контейнера любые итераторы следует считать недействительными после любой операции записи.

Документация по методам-членам

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

Добавляет value в container, если это возможно. Если canAddValue() возвращает false, value не добавляется. В противном случае, если canAddValueAtEnd() возвращает true, value добавляется в конец container. В противном случае, если canAddValueAtBegin() возвращает true, value добавляется в начало контейнера. В противном случае значение добавляется в неопределённое место или вообще не добавляется. Последнее имеет место для добавления значений в неупорядоченный контейнер, например, QSet.

См. также canAddValue(), canAddValueAtBegin(), canAddValueAtEnd(), isSortable() и removeValue().

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

Добавляет value в начало container, если это возможно. Если canAddValueAtBegin() возвращает false, value не добавляется.

См. также canAddValueAtBegin(), isSortable() и removeValueAtBegin().

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

Добавляет value в конец container, если это возможно. Если canAddValueAtEnd() возвращает false, value не добавляется.

См. также canAddValueAtEnd(), isSortable() и removeValueAtEnd().

bool QMetaSequence::canAddValue() const

Возвращает true если значения могут быть добавлены в контейнер, false в противном случае.

См. также addValue() и isSortable().

bool QMetaSequence::canAddValueAtBegin() const

Возвращает true если значения, добавляемые с помощью addValue(), могут быть помещены в начало контейнера, в противном случае возвращает false.

См. также addValueAtBegin() и canAddValueAtEnd().

bool QMetaSequence::canAddValueAtEnd() const

Возвращает true если значения, добавленные с помощью addValue(), могут быть размещены в конце контейнера, в противном случае возвращает false.

См. также addValueAtEnd() и canAddValueAtBegin().

bool QMetaSequence::canEraseRangeAtIterator() const

Возвращает true если диапазон между двумя итераторами может быть удалён из контейнера, false в противном случае.

bool QMetaSequence::canEraseValueAtIterator() const

Возвращает true если значение, на которое указывает неконстантный итератор, может быть удалено, false в противном случае.

См. также hasIterator() и eraseValueAtIterator().

bool QMetaSequence::canGetValueAtConstIterator() const

Возвращает true если базовый контейнер может получить значение, на которое указывает константный итератор, false в противном случае.

См. также hasConstIterator() и valueAtConstIterator().

bool QMetaSequence::canGetValueAtIndex() const

Возвращает true если значения могут быть получены из контейнера по индексу, в противном случае false.

См. также valueAtIndex().

bool QMetaSequence::canGetValueAtIterator() const

Возвращает true если базовый контейнер может получить значение, на которое указывает неконстантный итератор, false в противном случае.

См. также hasIterator() и valueAtIterator().

bool QMetaSequence::canInsertValueAtIterator() const

Возвращает true если базовый контейнер может вставить новое значение, учитывая расположение, указанное неконстантным итератором.

См. также hasIterator() и insertValueAtIterator().

bool QMetaSequence::canRemoveValue() const

Возвращает true если значения могут быть удалены из контейнера, false в противном случае.

См. также removeValue() и isSortable().

bool QMetaSequence::canRemoveValueAtBegin() const

Возвращает true если значения могут быть удалены из начала контейнера с помощью removeValue(), в противном случае возвращает false.

См. также removeValueAtBegin() и canRemoveValueAtEnd().

bool QMetaSequence::canRemoveValueAtEnd() const

Возвращает true если значения могут быть удалены из конца контейнера с помощью removeValue(), в противном случае возвращает false.

См. также removeValueAtEnd() и canRemoveValueAtBegin().

bool QMetaSequence::canSetValueAtIndex() const

Возвращает true если значение может быть записано в контейнер по индексу, в противном случае false.

См. также setValueAtIndex().

bool QMetaSequence::canSetValueAtIterator() const

Возвращает true если базовый контейнер может записать значение, на которое указывает неконстантный итератор, false в противном случае.

См. также hasIterator() и setValueAtIterator().

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

Удаляет диапазон значений между итераторами iterator1 и iterator2 из container, если это возможно.

См. также canEraseValueAtIterator(), begin(), и end().

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

Удаляет значение, на которое указывает неконстантный iterator из container, если это возможно.

См. также canEraseValueAtIterator(), begin(), и end().

[static, since 6.0] template <typename T> QMetaSequence QMetaSequence::fromContainer()

Возвращает QMetaSequence, соответствующую типу, заданному в качестве шаблона параметра.

Эта функция была добавлена в Qt 6.0.

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

Вставляет value в container, если возможно, учитывая неконстантный iterator. Если canInsertValueAtIterator() возвращает false, value не вставляется. В противном случае, если isSortable() возвращает true, значение вставляется перед значением, на которое указывает iterator. В противном случае value вставляется в неопределённое место или вообще не вставляется. В последнем случае iterator используется как подсказка. Если он указывает на правильное место для value, операция может быть быстрее, чем addValue() без итератора.

См. также canInsertValueAtIterator(), isSortable(), begin(), и end().

bool QMetaSequence::isSortable() const

Возвращает true если базовый контейнер сортируемый, в противном случае возвращает false. Контейнер считается сортируемым, если добавленные значения размещаются в определённом месте. Вставка в или добавление в сортируемый контейнер всегда будет успешной. Вставка в или добавление в несортируемый контейнер может не удаться, например, если контейнер является QSet, который уже содержит вставляемое значение.

См. также addValue(), insertValueAtIterator(), canAddValueAtBegin(), canAddValueAtEnd(), canRemoveValueAtBegin(), и canRemoveValueAtEnd().

void QMetaSequence::removeValue(void *container) const

Удаляет значение из container, если это возможно. Если canRemoveValue() возвращает false, значение не удаляется. В противном случае, если canRemoveValueAtEnd() возвращает true, удаляется последнее значение в container. В противном случае, если canRemoveValueAtBegin() возвращает true, удаляется первое значение в container. В противном случае удаляется неопределённое значение или ничего не удаляется.

См. также canRemoveValue(), canRemoveValueAtBegin(), canRemoveValueAtEnd(), isSortable(), и addValue().

void QMetaSequence::removeValueAtBegin(void *container) const

Удаляет значение из начала container, если возможно. Если canRemoveValueAtBegin() возвращает false, значение не удаляется.

См. также canRemoveValueAtBegin(), isSortable(), и addValueAtBegin().

void QMetaSequence::removeValueAtEnd(void *container) const

Удаляет значение с конца container, если это возможно. Если canRemoveValueAtEnd() возвращает false, значение не удаляется.

См. также canRemoveValueAtEnd(), isSortable(), и addValueAtEnd().

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

Заменяет значение по индексу index в container с помощью value, если это возможно.

См. также valueAtIndex() и canSetValueAtIndex().

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

Записывает value в значение, на которое указывает неконстантный iterator, если это возможно.

См. также valueAtIterator(), canSetValueAtIterator(), begin(), и end().

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

Возвращает значение, на которое указывает константный iterator, и сохраняет его в памяти по адресу, указанному result, если это возможно.

См. также canGetValueAtConstIterator(), constBegin(), и constEnd().

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

Возвращает значение по индексу index в container и помещает его в место в памяти, на которое указывает result, если это возможно.

См. также setValueAtIndex() и canGetValueAtIndex().

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

Возвращает значение, на которое указывает неконстантный iterator, и сохраняет его в памяти по адресу, указанному result, если это возможно.

См. также setValueAtIterator(), canGetValueAtIterator(), begin(), и end().

QMetaType QMetaSequence::valueMetaType() const

Возвращает тип метаданных для значений, хранящихся в контейнере.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qmetasequence.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API