QMetaContainer Class

QMetaContainerクラスは、シーケンシャル・コンテナとアソシアティブ・コンテナに共通の機能を提供します。詳細...

ヘッダ #include <QMetaContainer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
以来:Qt 6.0
継承元:

QMetaSequence

このクラスは等価比較可能です。

パブリック関数

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

詳細説明

メンバ関数ドキュメント

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

constiteratorstep ステップ進める。step が負の場合、iterator はコンテナの先頭に向かって後方に移動する。hasBidirectionalIterator() が偽を返した場合、step の負の値に対する動作は指定されない。

constBegin() およびconstEnd()も参照のこと

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

nononstiteratorstep ステップ進める。step が負の場合、iterator はコンテナの先頭に向かって後方に移動する。hasBidirectionalIterator() が偽を返した場合、step の負の値に対する動作は指定されない。

begin() およびend()も参照のこと

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

container 。イテレータはnewを使ってヒープ上に確保される。最終的には、destroyIterator を使用して破棄し、メモリを再利用する必要があります。

コンテナが非構造イテレータを提供していない場合はnullptr を返す。

end()、constBegin()、constEnd()、destroyIterator()も参照

bool QMetaContainer::canClear() const

コンテナをクリアできる場合はtrue を返し、そうでない場合はfalse を返す。

clear()も参照のこと

void QMetaContainer::clear(void *container) const

与えられたcontainer がクリア可能なら、それをクリアする。

canClear()も参照

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

定数イテレータij が、イテレート先のコンテナ内で同じ値を指している場合はtrue を返し、そうでない場合はfalse を返す。

constBegin() およびconstEnd()も参照

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

非定数イテレータij が、イテレート先のコンテナ内で同じ値を指している場合はtrue を返し、そうでない場合はfalse を返す。

begin() およびend()も参照

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

container の先頭を指す const イテレータを作成し、返す。 イテレータは new を使ってヒープ上に確保される。最終的には、destroyConstIterator を使用して破棄し、メモリを再利用する必要があります。

コンテナが const イテレータを提供していない場合は、nullptr を返します。

constEnd()、begin()、end()、destroyConstIterator()も参照

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

container 。イテレータはnewを使ってヒープ上に確保される。最終的には、destroyConstIterator を使用して破棄し、メモリを再利用する必要があります。

コンテナが const イテレータを提供していない場合はnullptr を返します。

constBegin()、begin()、end()、destroyConstIterator()も参照

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

const イテレータsource を const イテレータtarget にコピーします。その後、compareConstIterator(target, source) はtrue を返します。

constBegin() およびconstEnd()も参照してください

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

nononst iteratorsource を nononst iteratortarget にコピーする。その後、compareIterator(target, source) はtrue を返す。

begin() およびend()も参照

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

constBegin() またはconstEnd() を使用して作成された constiterator を破棄する。

constBegin()、constEnd() およびdestroyIterator()も参照

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

以前にbegin() またはend() を使用して作成された nononstiterator を破棄する。

begin()、end()、destroyConstIterator()も参照

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

const イテレータij の距離、i - j に相当する距離を返す。ji よりもコンテナの末尾に近い場合、返される値は負となる。hasBidirectionalIterator() が偽を返した場合の動作は未定義。

constBegin() およびconstEnd()も参照

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

非構造反復子ij の間の距離、i - j に相当する距離を返す。ji よりもコンテナの末尾に近い場合、返される値は負となる。hasBidirectionalIterator() が偽を返す場合、この場合の動作は未定義である。

begin() およびend()も参照

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

container 。イテレータはnewを使ってヒープ上に確保される。最終的には、destroyIterator を使用して破棄し、メモリを再利用する必要があります。

コンテナが非構造イテレータを提供していない場合はnullptr を返します。

hasIterator(), end(),constBegin(),constEnd(),destroyIterator()も参照

bool QMetaContainer::hasBidirectionalIterator() const

基礎となるコンテナが、std::bidirectional_iterator_tag および std::random_access_iterator_tag でそれぞれ定義される双方向イテレータまたはランダムアクセスイテレータを提供する場合、true を返す。それ以外の場合はfalse を返します。

QMetaSequence は、同じコンテナの定数イテレータと非定数イテレータが同じイテレータ特性を持つことを仮定しています。

bool QMetaContainer::hasConstIterator() const

基礎となるコンテナが const イテレータを提供している場合はtrue を返し、そうでない場合はfalse を返します。

constBegin(),constEnd(),destroyConstIterator(),compareConstIterator(),diffConstIterator(),advanceConstIterator(),copyConstIterator()も参照

bool QMetaContainer::hasForwardIterator() const

基礎となるコンテナが、std::forward_iterator_tag で定義された順方向イテレータを少なくとも提供していればtrue を返し、そうでなければfalse を返します。双方向イテレータとランダムアクセス・イテレータは、順方向イテレータの特殊化です。このメソッドは、コンテナがそれらのいずれかを提供している場合にもtrue を返します。

QMetaSequence は、同じコンテナの const イテレータと nononst イテレータが同じイテレータ特性を持つことを想定しています。

bool QMetaContainer::hasInputIterator() const

基礎となるコンテナが、少なくとも std::input_iterator_tag で定義された入力イテレータを提供していればtrue を返し、そうでなければfalse を返す。順方向イテレータ、双方向イテレータ、ランダムアクセスイテレータは、入力イテレータの特殊化です。このメソッドは、コンテナがこれらのイテレータを提供している場合、true を返します。

QMetaSequence は、同じコンテナの const イテレータと non-const イテレータが同じイテレータ特性を持つことを想定しています。

bool QMetaContainer::hasIterator() const

基礎となるコンテナが nononst イテレータを提供している場合はtrue を返し、そうでない場合はfalse を返す。

begin(),end(),destroyIterator(),compareIterator(),diffIterator(),advanceIterator(),copyIterator()も参照

bool QMetaContainer::hasRandomAccessIterator() const

基礎となるコンテナが std::random_access_iterator_tag で定義されたランダムアクセスイテレータを提供している場合はtrue を返し、そうでない場合はfalse を返します。

QMetaSequence 同じコンテナの const イテレータと non-const イテレータが同じイテレータ特性を持つことを想定しています。

bool QMetaContainer::hasSize() const

コンテナのサイズを問い合わせられる場合はtrue を返し、そうでない場合はfalse を返す。

size()も参照

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

指定されたcontainer に含まれる値の数を返します。そうでない場合は-1 を返す。

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.