이 페이지에서

QMetaAssociation Class

QMetaAssociation 클래스는 연관 컨테이너에 대한 타입 지우기(type erasure) 기능을 통해 접근할 수 있게 해줍니다. 더 보기...

헤더: #include <QMetaAssociation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
다음부터: Qt 6.0
상속: QMetaContainer

QMetaAssociation 비교

범주비교 가능한 유형
동등성QMetaAssociation

공개 유형

(since 6.11) class Iterable

공개 함수

QMetaAssociation()
bool canContainsKey() const
bool canCreateConstIteratorAtKey() const
bool canCreateIteratorAtKey() const
bool canGetKeyAtConstIterator() const
bool canGetKeyAtIterator() const
bool canGetMappedAtConstIterator() const
bool canGetMappedAtIterator() const
bool canGetMappedAtKey() const
bool canInsertKey() const
bool canRemoveKey() const
bool canSetMappedAtIterator() const
bool canSetMappedAtKey() const
bool containsKey(const void *container, const void *key) const
void *createConstIteratorAtKey(const void *container, const void *key) const
void *createIteratorAtKey(void *container, const void *key) const
void insertKey(void *container, const void *key) const
void keyAtConstIterator(const void *iterator, void *key) const
void keyAtIterator(const void *iterator, void *key) const
QMetaType keyMetaType() const
void mappedAtConstIterator(const void *iterator, void *mapped) const
void mappedAtIterator(const void *iterator, void *mapped) const
void mappedAtKey(const void *container, const void *key, void *mapped) const
QMetaType mappedMetaType() const
void removeKey(void *container, const void *key) const
void setMappedAtIterator(const void *iterator, const void *mapped) const
void setMappedAtKey(void *container, const void *key, const void *mapped) const

정적 공용 멤버

(since 6.0) QMetaAssociation fromContainer()
bool operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs)
bool operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

상세 설명

이 클래스는 void*를 피연산자로 사용하여 여러 가지 기본 컨테이너 연산을 제공합니다. 이를 통해 Variant에서 검색한 제네릭 컨테이너의 유형을 알지 못해도 해당 컨테이너를 조작할 수 있습니다.

QMetaAssociation은 QMap 이나 QHash 과 같이 값이 매핑된 컨테이너와 QSet 과 같이 키만 포함하는 컨테이너를 모두 다룹니다.

다양한 메서드에 전달되는 void* 인자는 일반적으로 해당 컨테이너 또는 값 유형의 QVariant 를 생성하고, 그 QVariant::data() 또는 QVariant::constData() 메서드를 호출하여 생성됩니다. 그러나 컨테이너나 값 유형의 객체에 대한 일반 포인터를 전달할 수도 있습니다.

이테레이터의 무효화는 기본이 되는 컨테이너가 정한 규칙을 따르며, API에서는 명시되지 않습니다. 따라서 진정한 제네릭 컨테이너의 경우, 모든 쓰기 작업 후에는 모든 이테레이터가 무효한 것으로 간주되어야 합니다.

QMetaContainer, QMetaSequence, QIterable 및 QIterator도 참조하십시오 .

멤버 함수 문서

[constexpr noexcept default] QMetaAssociation::QMetaAssociation()

QMetaAssociation 의 인스턴스를 기본 생성자로 생성합니다.

bool QMetaAssociation::canContainsKey() const

컨테이너에서 ` containsKey()`를 사용하여 키를 조회할 수 있는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

bool QMetaAssociation::canCreateConstIteratorAtKey() const

createConstIteratorAtKey()를 사용하여 컨테이너의 항목을 가리키는 const 이터레이터를 생성할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

bool QMetaAssociation::canCreateIteratorAtKey() const

createIteratorAtKey()를 사용하여 컨테이너 내의 항목을 가리키는 이터레이터를 생성할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

createIteratorAtKey()도 참조하십시오 .

bool QMetaAssociation::canGetKeyAtConstIterator() const

keyAtConstIterator()를 사용하여 const 이터레이터에서 키를 가져올 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

keyAtConstIterator()도 참조하십시오 .

bool QMetaAssociation::canGetKeyAtIterator() const

keyAtIterator()를 사용하여 비상수 이터레이터에서 키를 가져올 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

keyAtIterator()도 참조하십시오 .

bool QMetaAssociation::canGetMappedAtConstIterator() const

mappedAtConstIterator()를 사용하여 const 이터레이터에서 매핑된 값을 가져올 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

mappedAtConstIterator()도 참조하십시오 .

bool QMetaAssociation::canGetMappedAtIterator() const

mappedAtIterator()를 사용하여 비const 이터레이터에서 매핑된 값을 가져올 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

mappedAtIterator()도 참조하십시오 .

bool QMetaAssociation::canGetMappedAtKey() const

컨테이너에서 mappedAtKey()을 사용하여 값을 조회할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

bool QMetaAssociation::canInsertKey() const

insertKey()를 사용하여 컨테이너에 키를 추가할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

insertKey()도 참조하십시오 .

bool QMetaAssociation::canRemoveKey() const

removeKey()를 사용하여 컨테이너에서 키를 제거할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

removeKey()도 참조하십시오 .

bool QMetaAssociation::canSetMappedAtIterator() const

setMappedAtIterator()를 사용하여 비const 이터레이터를 통해 매핑된 값을 설정할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

setMappedAtIterator()도 참조하십시오 .

bool QMetaAssociation::canSetMappedAtKey() const

setMappedAtKey()를 사용하여 컨테이너 내의 매핑된 값을 수정할 수 있는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

setMappedAtKey()도 참조하십시오 .

bool QMetaAssociation::containsKey(const void *container, const void *key) const

container 에서 키를 조회할 수 있고 key 를 포함하고 있는 경우 true 를 반환하며, 그렇지 않은 경우 false 를 반환합니다.

canContainsKey()도 참조하십시오 .

void *QMetaAssociation::createConstIteratorAtKey(const void *container, const void *key) const

가능한 경우, ` container` 내의 ` key ` 항목을 가리키는 const 이터레이터를 반환합니다. 해당 항목이 존재하지 않으면, ` container`의 끝을 가리키는 const 이터레이터를 생성합니다. const 이터레이터를 생성할 수 없는 경우, ` nullptr`을 반환합니다.

const 이터레이터는 destroyConstIterator()를 사용하여 소멸시켜야 합니다.

canCreateConstIteratorAtKey(), constBegin(), constEnd(), destroyConstIterator()도 참조하십시오 .

void *QMetaAssociation::createIteratorAtKey(void *container, const void *key) const

가능한 경우, ` container` 내의 ` key ` 항목으로 가리키는 비const 이터레이터를 반환합니다. 해당 항목이 존재하지 않으면, ` container`의 끝을 가리키는 비const 이터레이터를 생성합니다. 비const 이터레이터를 생성할 수 없는 경우, ` nullptr`를 반환합니다.

이 비정수 이터레이터는 destroyIterator()를 사용하여 소멸시켜야 합니다.

canCreateIteratorAtKey(), begin(), end(), destroyIterator()도 참조하십시오 .

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

템플릿 매개변수로 지정된 유형에 해당하는 ` QMetaAssociation `를 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

void QMetaAssociation::insertKey(void *container, const void *key) const

가능한 경우 key 를 container 에 삽입합니다. 컨테이너에 매핑된 값이 있는 경우, default-create 매핑된 값이 key 에 연결됩니다.

canInsertKey()도 참조하십시오 .

void QMetaAssociation::keyAtConstIterator(const void *iterator, void *key) const

const iterator 가 가리키는 키를 가져와, 가능한 경우 key 가 가리키는 메모리 위치에 저장합니다.

canGetKeyAtConstIterator(), constBegin(), constEnd(), createConstIteratorAtKey()도 참조하십시오 .

void QMetaAssociation::keyAtIterator(const void *iterator, void *key) const

const가 아닌 ` iterator `가 가리키는 키를 가져와, 가능한 경우 ` key`가 가리키는 메모리 위치에 저장합니다.

canGetKeyAtIterator(), begin(), end() 및 createIteratorAtKey()도 참조하십시오 .

QMetaType QMetaAssociation::keyMetaType() const

컨테이너 내 키에 대한 메타 유형을 반환합니다.

void QMetaAssociation::mappedAtConstIterator(const void *iterator, void *mapped) const

const iterator 가 가리키는 매핑된 값을 가져와, 가능한 경우 mapped 가 가리키는 메모리 위치에 저장합니다.

canGetMappedAtConstIterator(), constBegin(), constEnd() 및 createConstIteratorAtKey()도 참조하십시오 .

void QMetaAssociation::mappedAtIterator(const void *iterator, void *mapped) const

const가 아닌 ` iterator `가 가리키는 매핑된 값을 가져와, 가능한 경우 ` mapped`가 가리키는 메모리 위치에 저장합니다.

setMappedAtIterator(), canGetMappedAtIterator(), begin(), end() 및 createIteratorAtKey()도 참조하십시오 .

void QMetaAssociation::mappedAtKey(const void *container, const void *key, void *mapped) const

container 내의 key 에 연결된 매핑된 값을 가져와, 가능한 경우 mapped 가 가리키는 메모리 위치에 저장합니다.

setMappedAtKey() 및 canGetMappedAtKey()도 참조하십시오 .

QMetaType QMetaAssociation::mappedMetaType() const

컨테이너 내 매핑된 값에 대한 메타 타입을 반환합니다.

void QMetaAssociation::removeKey(void *container, const void *key) const

가능한 경우, ` container `에서 ` key ` 및 이와 연결된 매핑된 값을 제거합니다.

canRemoveKey()도 참조하십시오 .

void QMetaAssociation::setMappedAtIterator(const void *iterator, const void *mapped) const

가능한 경우, `non-const` ` iterator`가 가리키는 컨테이너 위치에 ` mapped ` 값을 기록합니다.

mappedAtIterator(), canSetMappedAtIterator(), begin(), end() 및 createIteratorAtKey()도 참조하십시오 .

void QMetaAssociation::setMappedAtKey(void *container, const void *key, const void *mapped) const

가능한 경우, 인수로 전달된 mapped 값을 사용하여 container 내의 key 와 연관된 값을 덮어씁니다.

mappedAtKey() 및 canSetMappedAtKey()도 참조하십시오 .

관련 비회원

[noexcept] bool operator!=(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

QMetaAssociation lhs 가 QMetaAssociation rhs 와 다른 컨테이너 유형을 나타내는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

[noexcept] bool operator==(const QMetaAssociation &lhs, const QMetaAssociation &rhs)

QMetaAssociation lhs 가 QMetaAssociation rhs 와 동일한 컨테이너 유형을 나타내는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

© 2026 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.