![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Класс PIValueTree представляет собой древовидную структуру значений PIVariant с атрибутами. Подробнее...
#include <pivaluetree.h>
Классы | |
| struct | Attribute |
| Структура Attribute содержит константы для часто используемых имен атрибутов. Подробнее... | |
Открытые члены | |
| PIValueTree () | |
| Создает пустой объект PIValueTree. | |
| PIValueTree (const PIVariant &v) | |
| Создает объект PIValueTree только со значением. | |
| PIValueTree (const PIString &n, const PIVariant &v, const PIVariantMap &a=PIVariantMap()) | |
| Создает объект PIValueTree с именем, значением и набором атрибутов. | |
| bool | isNull () const |
| Возвращает, является ли текущий объект PIValueTree пустым. | |
| bool | isValid () const |
| Возвращает, является ли текущий объект PIValueTree допустимым. | |
| bool | isArray () const |
| Возвращает, является ли текущий объект PIValueTree массивом. | |
| bool | hasChildren () const |
| Возвращает, имеет ли текущий объект PIValueTree дочерние элементы. | |
| const PIString & | name () const |
| Возвращает имя текущего объекта PIValueTree. | |
| void | setName (const PIString &n) |
| Устанавливает имя текущего объекта PIValueTree. | |
| const PIString & | comment () const |
| Возвращает комментарий текущего объекта PIValueTree. | |
| void | setComment (const PIString &c) |
| Устанавливает комментарий текущего объекта PIValueTree. | |
| const PIVariant & | value () const |
| Возвращает значение текущего объекта PIValueTree. | |
| void | setValue (const PIVariant &v) |
| Устанавливает значение текущего объекта PIValueTree. | |
| const PIVariantMap & | attributes () const |
| Возвращает набор атрибутов текущего объекта PIValueTree. | |
| PIVariantMap & | attributes () |
| Возвращает ссылку на набор атрибутов текущего объекта PIValueTree. | |
| PIVariant | attribute (const PIString &an, const PIVariant &def=PIVariant()) const |
| Возвращает значение атрибута для данного имени атрибута или "def", если атрибут не найден. | |
| void | setAttribute (const PIString &n, const PIVariant &a) |
| Устанавливает значение атрибута для данного имени атрибута. | |
| void | mergeAttributes (const PIVariantMap &a) |
| Объединяет набор атрибутов в текущий набор атрибутов объекта PIValueTree. Подробнее... | |
| void | applyValues (const PIValueTree &root, bool recursive=true) |
| Применяет значения данного объекта PIValueTree к текущему объекту PIValueTree. Подробнее... | |
| void | merge (const PIValueTree &root) |
| Устанавливает или добавляет значения данного объекта PIValueTree к текущему объекту PIValueTree. Подробнее... | |
| const PIVector< PIValueTree > & | children () const |
| Возвращает дочерние элементы текущего объекта PIValueTree. | |
| void | clearChildren () |
| Очищает дочерние элементы текущего объекта PIValueTree. | |
| PIVariant | childValue (const PIString &child_name, const PIVariant &default_value=PIVariant(), bool *exists=nullptr) const |
| Возвращает значение дочернего элемента с заданным именем. Подробнее... | |
| PIVariant | childValue (const PIStringList &child_path, const PIVariant &default_value=PIVariant(), bool *exists=nullptr) const |
| Возвращает значение дочернего элемента с заданным путем. Подробнее... | |
| template<typename T > | |
| PIValueTree & | readChildValue (const PIString &child_name, T &read_to) |
| Читает значение дочернего элемента с заданным именем в "read_to". Возвращает ссылку на текущий объект PIValueTree. | |
| bool | contains (const PIString &name) const |
| Возвращает, содержит ли текущий объект PIValueTree дочерний элемент с заданным именем. | |
| bool | contains (const PIStringList &path) const |
| Возвращает, содержит ли текущий объект PIValueTree дочерний элемент с заданным путем. | |
| int | childIndex (const PIString &name) const |
| Возвращает индекс дочернего узла с заданным именем или -1, если узел не найден. | |
| const PIValueTree & | child (const PIString &name) const |
| Возвращает константную ссылку на дочерний узел с заданным именем или пустой узел, если его нет. | |
| const PIValueTree & | child (const PIStringList &path) const |
| Возвращает константную ссылку на дочерний узел с заданным путем или пустой узел, если его нет. | |
| PIValueTree & | child (const PIString &name) |
| Возвращает ссылку на дочерний узел с заданным именем или пустой узел, если его нет. | |
| PIValueTree & | child (const PIStringList &path) |
| Возвращает ссылку на дочерний узел с заданным путем или пустой узел, если его нет. | |
| PIValueTree & | insertChild (int index, const PIValueTree &n) |
| Вставляет узел в заданном индексе. Возвращает ссылку на текущий объект PIValueTree. | |
| PIValueTree & | addChild (const PIValueTree &n) |
| Добавляет узел в конец списка дочерних элементов. Возвращает ссылку на текущий объект PIValueTree. | |
| PIValueTree & | addChildren (const PIVector< PIValueTree > &n) |
| Добавляет вектор элементов в конец списка дочерних элементов. Возвращает ссылку на текущий объект PIValueTree. | |
| PIValueTree & | remove (const PIString &name) |
| Удаляет дочерний элемент с заданным именем. Возвращает ссылку на текущий объект PIValueTree. | |
| PIValueTree & | operator[] (const PIString &name) |
| Возвращает ссылку на дочерний узел с заданным именем, создавая его, если он не существует. | |
| PIValueTree & | operator[] (const PIStringList &path) |
| Возвращает ссылку на дочерний узел с заданным путем, создавая его, если он не существует. | |
| const PIValueTree & | operator[] (const PIString &name) const |
| Возвращает константную ссылку на дочерний узел с заданным именем или пустой узел, если его нет. | |
| void | forEachRecursive (std::function< void(const PIValueTree &item, const PIString &path)> func) |
| Рекурсивно выполняет "func" для каждого узла. "path" - это имя с путём, соединены ".". Подробнее... | |
Открытые статические члены | |
| static const PIStringList & | standardAttributes () |
| Возвращает список стандартных имен атрибутов. | |
Класс PIValueTree представляет собой древовидную структуру значений PIVariant с атрибутами.
Этот класс позволяет работать с иерархическими структурами данных, представленными в виде значений PIVariant. Каждый узел PIValueTree имеет имя, значение и набор именованных атрибутов. Узлы PIValueTree могут иметь дочерние узлы, что позволяет создавать древовидную структуру.
| void PIValueTree::mergeAttributes | ( | const PIVariantMap & | a | ) |
Объединяет набор атрибутов в текущий набор атрибутов объекта PIValueTree.
Объединяет предоставленный набор атрибутов в текущие атрибуты, перезаписывая существующие атрибуты с тем же именем.
| void PIValueTree::applyValues | ( | const PIValueTree & | root, |
| bool | recursive = true |
||
| ) |
Применяет значения данного объекта PIValueTree к текущему объекту PIValueTree.
| root | Объект PIValueTree, значения которого должны быть применены. |
| recursive | Если установлено в true, то значения будут применяться рекурсивно к дочерним узлам. |
| void PIValueTree::merge | ( | const PIValueTree & | root | ) |
Устанавливает или добавляет значения данного объекта PIValueTree к текущему объекту PIValueTree.
| root | Объект PIValueTree, значения которого должны быть добавлены. |
| PIVariant PIValueTree::childValue | ( | const PIString & | child_name, |
| const PIVariant & | default_value = PIVariant(), |
||
| bool * | exists = nullptr |
||
| ) | const |
Возвращает значение дочернего элемента с заданным именем.
| child_name | Имя дочернего узла. |
| default_value | Значение по умолчанию, которое будет возвращено, если дочерний узел не найден. |
| exists | Если не равно нулю, будет установлено в true, если дочерний узел существует, false в противном случае. |
| PIVariant PIValueTree::childValue | ( | const PIStringList & | child_path, |
| const PIVariant & | default_value = PIVariant(), |
||
| bool * | exists = nullptr |
||
| ) | const |
Возвращает значение дочернего элемента с заданным путем.
| child_path | Путь дочернего узла. |
| default_value | Значение по умолчанию, которое будет возвращено, если дочерний узел не найден. |
| exists | Если не равно нулю, будет установлено в true, если дочерний узел существует, false в противном случае. |
| void PIValueTree::forEachRecursive | ( | std::function< void(const PIValueTree &item, const PIString &path)> | func | ) |
Рекурсивно выполняет "func" для каждого узла. "path" - это имя с путём, соединены ".".
Рекурсивно вызывает предоставленную функцию для каждого узла в дереве. Параметр path содержит полный путь к узлу, при этом имена предков соединены точками.