PIP 6.1.0
Platform-Independent Primitives
Загрузка...
Поиск...
Не найдено
Класс PIConfig::Branch

Класс Branch - контейнер для объектов Entry. Подробнее...

#include <piconfig.h>

Граф наследования:PIConfig::Branch:

Открытые члены

Entry & getValue (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
 Получить значение из ветки по имени со значением по умолчанию
Entry & getValue (const PIString &vname, const char *def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const PIStringList &def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const bool def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const short def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const int def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const long def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const uchar def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const ushort def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const uint def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const ulong def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const float def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Entry & getValue (const PIString &vname, const double def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
Branch allLeaves ()
 Возвращает все листовые потомки, достижимые из этой ветви.
Branch getValues (const PIString &name)
 Получить все записи с именем, содержащим указанную подстроку
Branch getLeaves ()
 Возвращает только записи этой ветви без дочерних элементов.
Branch getBranches ()
 Возвращает только записи этой ветви, имеющие дочерние элементы.
Branch & filter (const PIString &f)
 Удаляет записи, чьи имена не содержат "f".
bool isEntryExists (const PIString &name) const
 Возвращает true, если какая-либо запись этой ветви или ее потомков имеет имя "name".
int indexOf (const Entry *e)
 Возвращает позицию указателя на запись "e" в этой ветви или -1.
Открытые члены унаследованные от PIVector< Entry * >
 PIVector ()
 Создает пустой массив.
PIVector< Entry * > & operator= (const PIVector< Entry * > &v)
 Оператор присваивания.
iterator begin ()
 Итератор на первый элемент.
iterator end ()
 Итератор на элемент, следующий за последним элементом.
reverse_iterator rbegin ()
 Обратный итератор на первый элемент.
reverse_iterator rend ()
 Обратный итератор на элемент, следующий за последним элементом.
size_t size () const
 Количество элементов массива.
ssize_t size_s () const
 Количество элементов массива в виде знакового числа.
size_t length () const
 Синоним size().
size_t capacity () const
 Количество элементов, для которого сейчас выделена память массивом.
bool isEmpty () const
 Проверяет пуст ли массив.
bool isNotEmpty () const
 Проверяет не пуст ли массив.
bool any (std::function< bool(const Entry *&e)> test) const
 Проверяет, удовлетворяет ли какой-либо элемент массива условию, заданному в передаваемой функции test.
bool every (std::function< bool(const Entry *&e)> test) const
 Проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции test.
Entry *& operator[] (size_t index)
 Полный доступ к элементу по индексу index.
const Entry *& at (size_t index) const
 Доступ исключительно на чтение к элементу по индексу index.
const Entry *& atWhere (std::function< bool(const Entry *&e)> test, ssize_t start=0, const Entry *&def=Entry *()) const
 Возвращает первый элемент массива, проходящего по условию, заданному в передаваемой функции test, или def если такого элемента нет.
const Entry *& lastAtWhere (std::function< bool(const Entry *&e)> test, ssize_t start=-1, const Entry *&def=Entry *()) const
 Возвращает последний элемент массива, проходящего по условию, заданному в передаваемой функции test, или def если такого элемента нет.
Entry *& back ()
 Последний элемент массива.
Entry *& front ()
 Первый элемент массива.
bool operator== (const PIVector< Entry * > &v) const
 Оператор сравнения с массивом v.
bool operator!= (const PIVector< Entry * > &v) const
 Оператор сравнения с массивом v.
bool contains (const Entry *&e, ssize_t start=0) const
 Проверяет наличие элемента e в массиве.
bool containsAll (const PIVector< Entry * > &v, ssize_t start=0) const
 Проверяет наличие всех элементов v в массиве.
bool containsAny (const PIVector< Entry * > &v, ssize_t start=0) const
 Проверяет наличие хотя бы одного из элементов v в массиве.
int entries (const Entry *&e, ssize_t start=0) const
 Подсчитывает количество элементов, совпадающих с элементом e в массиве.
ssize_t indexOf (const Entry *&e, ssize_t start=0) const
 Возвращает первый индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет.
ssize_t indexWhere (std::function< bool(const Entry *&e)> test, ssize_t start=0) const
 Возвращает первый индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет.
ssize_t lastIndexOf (const Entry *&e, ssize_t start=-1) const
 Возвращает последний индекс, по которому данный элемент e может быть найден в массиве или -1, если такого индекса нет.
ssize_t lastIndexWhere (std::function< bool(const Entry *&e)> test, ssize_t start=-1) const
 Возвращает последний индекс элемента проходящего по условию, заданному в передаваемой функции test, или -1, если таких элементов нет.
Entry ** data (size_t index=0)
 Указатель на память массива
PIVector< Entry * > getRange (size_t index, size_t count) const
 Создает подмассив, то есть кусок из текущего массива.
PIVector< Entry * > & clear ()
 Очищает массив, удаляет все элементы.
PIVector< Entry * > & fill (const Entry *&e=Entry *())
 Заполняет весь массив копиями элемента 'e'.
PIVector< Entry * > & assign (const Entry *&e=Entry *())
 Тоже самое что и fill().
PIVector< Entry * > & resize (size_t new_size, const Entry *&e=Entry *())
 Устанавливает размер массива, новые элементы копируются из e.
PIVector< Entry * > & reserve (size_t new_size)
 Резервируется память под как минимум new_size элементов.
PIVector< Entry * > & insert (size_t index, const Entry *&e=Entry *(), size_t count=1)
 Вставляет значение e в позицию index в массиве.
PIVector< Entry * > & remove (size_t index, size_t count=1)
 Удаляет элементы из массива, начиная с позиции index в количестве count.
void swap (PIVector< Entry * > &v)
 Меняет местами массив v с этим массивом.
PIVector< Entry * > & sort ()
 Сортировка элементов в порядке возрастания.
PIVector< Entry * > & reverse ()
 Обращает порядок следования элементов этого массива.
PIVector< Entry * > reversed () const
 Возвращает перевернутый массив.
PIVector< Entry * > & enlarge (ssize_t add_size, const Entry *&e=Entry *())
 Увеличивает или уменьшает размер массива на add_size элементов.
PIVector< Entry * > & removeOne (const Entry *&e)
 Удаляет первый элемент, который равен элементу e.
PIVector< Entry * > & removeAll (const Entry *&e)
 Удаляет все элементы, равные элементу e.
PIVector< Entry * > & removeWhere (std::function< bool(const Entry *&e)> test)
 Удаляет все элементы, удовлетворяющие условию, заданному в передаваемой функции test.
PIVector< Entry * > & push_back (const Entry *&e)
 Добавляет элемент e в конец массива.
PIVector< Entry * > & append (const Entry *&e)
 Добавляет элемент e в конец массива.
PIVector< Entry * > & operator<< (const Entry *&e)
 Добавляет элемент e в конец массива.
PIVector< Entry * > & push_front (const Entry *&e)
 Добавляет элемент e в начало массива.
PIVector< Entry * > & prepend (const Entry *&e)
 Добавляет элемент e в начало массива.
PIVector< Entry * > & pop_back ()
 Удаляет один элемент с конца массива.
PIVector< Entry * > & pop_front ()
 Удаляет один элемент с начала массива.
Entry * take_back ()
 Удаляет один элемент с начала массива и возвращает его.
Entry * take_front ()
 Удаляет один элемент с конца массива и возвращает его.
PIVector< ST > toType () const
 Возвращает конвертированный в другой тип массив.
PIVector< Entry * > filter (std::function< bool(const Entry *&e)> test) const
 Возвращает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции bool test(const T & e).
PIVector< Entry * > filterIndexed (std::function< bool(size_t index, const Entry *&e)> test) const
 Аналогично filter() но с параметром индекса index в функции test.
PIVector< Entry * > filterReverse (std::function< bool(const Entry *&e)> test) const
 Аналогично filter() но от конца до начала (справа на лево).
PIVector< Entry * > filterReverseIndexed (std::function< bool(size_t index, const Entry *&e)> test) const
 Аналогично filterReverse() но с параметром индекса index в функции test.
void forEach (std::function< void(const Entry *&e)> f) const
 Выполняет функцию void f(const T & e) для каждого элемента массива.
void forEachIndexed (std::function< void(size_t index, const Entry *&e)> f) const
 Аналогично forEach() но с параметром индекса index в функции f.
void forEachReverse (std::function< void(const Entry *&e)> f) const
 Аналогично forEach() но от конца до начала (справа на лево).
void forEachReverseIndexed (std::function< void(size_t index, const Entry *&e)> f) const
 Аналогично forEachIndexed() но от конца до начала (справа на лево).
PIVector< ST > map (std::function< ST(const Entry *&e)> f) const
 Создаёт новый массив с результатом вызова указанной функции ST f(const T & e) для каждого элемента массива.
PIVector< ST > mapIndexed (std::function< ST(size_t index, const Entry *&e)> f) const
 Аналогично map() но с параметром индекса index в функции f.
PIVector< ST > mapReverse (std::function< ST(const Entry *&e)> f) const
 Аналогично map() но от конца до начала (справа на лево).
PIVector< ST > mapReverseIndexed (std::function< ST(size_t index, const Entry *&e)> f) const
 Аналогично mapReverse() но с параметром индекса index в функции f.
ST reduce (std::function< ST(const Entry *&e, const ST &acc)> f, const ST &initial=ST()) const
 Применяет функцию ST f(const T & e, const ST & acc) к каждому элементу массива (слева-направо), возвращает одно значение.
ST reduceIndexed (std::function< ST(size_t index, const Entry *&e, const ST &acc)> f, const ST &initial=ST()) const
 Аналогично reduce() но с параметром индекса index в функции f.
ST reduceReverse (std::function< ST(const Entry *&e, const ST &acc)> f, const ST &initial=ST()) const
 Аналогично reduce() но от конца до начала (справа на лево).
ST reduceReverseIndexed (std::function< ST(size_t index, const Entry *&e, const ST &acc)> f, const ST &initial=ST()) const
 Аналогично reduceReverse() но с параметром индекса index в функции f.
PIVector< PIVector< Entry * > > reshape (size_t rows, size_t cols, ReshapeOrder order=ReshapeByRow) const
 Изменяет размерность массива, из одномерного массива создает двухмерный.
PIVector< C > flatten (ReshapeOrder order=ReshapeByRow) const
 Изменяет размерность массива, из двухмерный массива создает одномерный.
PIVector< PIVector< Entry * > > split (const Entry *&separator) const
 Разделяет массив на двумерный массив с помощью разделителяseparator.
PIVector< PIVector< Entry * > > splitBySize (size_t sz) const
 Разделяет массив на двумерный массив по кускам не более чем sz.
PIVector< Entry * > takeRange (size_t index, size_t count)
 Вырезает подмассив, то есть кусок из текущего массива.

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

Класс Branch - контейнер для объектов Entry.

Branch is a list of entries of configuration file

Branch provides some features to get entries lists.

Методы

◆ getValue()

PIConfig::Entry & PIConfig::Branch::getValue ( const PIString & vname,
const PIString & def = PIString(),
bool * exists = 0 )

Получить значение из ветки по имени со значением по умолчанию

Если поиск не удался, возвращает общий внутренний entry со значением "def" и устанавливает exists в false, если указатель передан.