QMetaContainer Class

QMetaContainer 클래스는 순차 및 연관 컨테이너에 대한 공통 기능을 제공합니다. 더 보기...

Header: #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

iterator 구문을 step 단계만큼 전진시킵니다. step 가 음수이면 iterator 은 컨테이너의 시작 부분으로 뒤로 이동합니다. hasBidirectionalIterator ()가 거짓을 반환하는 경우 step 음수 값에 대해서는 동작이 지정되지 않습니다.

constBegin() 및 constEnd()도 참조하세요 .

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

불변이 아닌 iteratorstep 단계만큼 전진시킵니다. 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 을 사용하여 소멸해야 합니다.

컨테이너가 생성자 이터레이터를 제공하지 않으면 nullptr 를 반환합니다.

constEnd(), begin(), end() 및 destroyConstIterator()도 참조하세요 .

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

container 의 끝을 가리키는 const 이터레이터를 생성하고 반환합니다. 이터레이터는 new를 사용하여 힙에 할당됩니다. 메모리를 회수하려면 결국 destroyConstIterator 을 사용하여 소멸해야 합니다.

컨테이너가 생성자 이터레이터를 제공하지 않는 경우 nullptr 를 반환합니다.

constBegin(), begin(), end() 및 destroyConstIterator()도 참조하세요 .

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

const 이터레이터 source 를 const 이터레이터 target 로 복사합니다. 이후 compareConstIterator(대상, 소스)는 true 을 반환합니다.

constBegin() 및 constEnd()도 참조하세요 .

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

논컨스트 이터레이터 source 를 논컨스트 이터레이터 target 로 복사합니다. 이후 compareIterator(대상, 소스)는 true 을 반환합니다.

begin() 및 end()도 참조하세요 .

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

constBegin() 또는 constEnd()를 사용하여 이전에 생성한 iterator const를 삭제합니다.

constBegin(), constEnd() 및 destroyIterator()도 참조하세요 .

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

begin() 또는 end()를 사용하여 이전에 생성된 참조가 아닌 iterator 을 삭제합니다.

begin(), end() 및 destroyConstIterator()도 참조하세요 .

qsizetype QMetaContainer::diffConstIterator(const void *i, const void *j) 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 는 동일한 컨테이너에 대한 const 이터레이터와 non-const 이터레이터가 동일한 이터레이터 특성을 갖는다고 가정합니다.

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 이터레이터와 non-const 이터레이터가 동일한 이터레이터 특성을 갖는다고 가정합니다.

bool QMetaContainer::hasInputIterator() const

기본 컨테이너가 std::input_iterator_tag에 정의된 입력 이터레이터를 제공하는 경우 true 를 반환하고, 그렇지 않으면 false 을 반환합니다. 정방향, 양방향 및 랜덤 액세스 이터레이터는 입력 이터레이터의 특수화입니다. 컨테이너가 이 중 하나를 제공하는 경우 이 메서드는 true 를 반환합니다.

QMetaSequence 는 동일한 컨테이너에 대한 const 이터레이터와 non-const 이터레이터가 동일한 이터레이터 특성을 갖는다고 가정합니다.

bool QMetaContainer::hasIterator() const

기본 컨테이너가 컨스트가 아닌 이터레이터를 제공하는 경우 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.