PIP 5.5.3
Platform-Independent Primitives
Классы | Открытые члены | Полный список членов класса
Класс PIPropertyStorage

Этот класс предоставляет ключ-значение хранение свойств. Подробнее...

#include <pipropertystorage.h>

Классы

class  Property
 Элемент PIPropertyStorage. Подробнее...
 

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

 PIPropertyStorage ()
 Создает пустой PIPropertyStorage.
 
 PIPropertyStorage (const PIVector< Property > &pl)
 Создает PIPropertyStorage со свойствами "pl".
 
 PIPropertyStorage (PIVector< Property > &&o)
 Создает PIPropertyStorage из другого "o".
 
int length () const
 Возвращает количество свойств
 
int size () const
 Возвращает количество свойств
 
bool isEmpty () const
 Возвращает нет ли свойств
 
bool isNotEmpty () const
 Возвращает есть ли свойства
 
Propertyfront ()
 Возвращает первое свойство
 
const Propertyfront () const
 Возвращает первое свойство как константу
 
Propertyback ()
 Возвращает последнее свойство
 
const Propertyback () const
 Возвращает последнее свойство как константу
 
void removeAt (int i)
 Удаляет свойство по индексу "i".
 
void clear ()
 Удаляет все свойства
 
PIPropertyStorage copy () const
 Возвращает копию этого PIPropertyStorage.
 
int propertiesCount () const
 Возвращает количество свойств
 
PIVector< Property > & properties ()
 Возвращает свойства как PIVector.
 
const PIVector< Property > & properties () const
 Возвращает свойства как константный PIVector.
 
bool isPropertyExists (const PIString &name) const
 Возвращает присутствует ли свойство с именем "name".
 
void clearProperties ()
 Удаляет все свойства
 
bool addProperty (const Property &p)
 Добавляет новое свойство, если его имени не было в контейнере, иначе обновляет существующее свойство с этим именем Подробнее...
 
bool addProperty (const PIString &_name, const PIVariant &_def_value, const PIString &_comment=PIString(), int _flags=0)
 Добавляет новое свойство, если его имени не было в контейнере, иначе обновляет существующее свойство с этим именем Подробнее...
 
bool removeProperty (const PIString &name)
 Удаляет свойство с именем "name", возвращает было ли оно удалено
 
int removePropertiesByFlag (int flag)
 Удаляет все свойства с флагом "flag", возвращает количество удаленных свойств Подробнее...
 
void updateProperties (const PIVector< Property > &properties, int flag_ignore=0)
 Объединяет "properties" с текущим контейнером Подробнее...
 
Property propertyByName (const PIString &name) const
 Возвращает свойство с именем "name" или пустое PIPropertyStorage::Property.
 
PIVariant propertyValueByName (const PIString &name) const
 Возвращает значение свойства с именем "name" или недействительный PIVariant.
 
bool setPropertyValue (const PIString &name, const PIVariant &value)
 Устанавливает значение "value" свойству с именем "name", возвращает существует ли такое свойство
 
bool setPropertyComment (const PIString &name, const PIString &comment)
 Устанавливает комментарий "comment" свойству с именем "name", возвращает существует ли такое свойство
 
bool setPropertyFlags (const PIString &name, int flags)
 Устанавливает флаги "flags" свойству с именем "name", возвращает существует ли такое свойство
 
PIPropertyStorageoperator<< (const PIPropertyStorage::Property &p)
 Добавляет свойство "p".
 
PIPropertyStorageoperator<< (const PIVector< Property > &p)
 Добавляет свойства "p".
 
PIPropertyStorageoperator<< (const PIPropertyStorage &p)
 Добавляет свойства "p".
 
Propertyoperator[] (int i)
 Возвращает свойство по индексу "i".
 
const Propertyoperator[] (int i) const
 Возвращает свойство по индексу "i" как константу
 
Propertyoperator[] (const PIString &name)
 Возвращает свойство с именем "name".
 
const Property operator[] (const PIString &name) const
 Возвращает свойство с именем "name" как константу
 

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

Этот класс предоставляет ключ-значение хранение свойств.

Краткий обзор

Хранилище свойств ключ-значние, основанный на PIVector с элементами PIPropertyStorage::Property. Каждый элемент имеет уникальное имя. Доступ к свойствам через propertyValueByName() или propertyByName(). Добавление и перезапись свойств через addProperty(const Property&) или addProperty(const PIString&, const PIVariant&, const PIString&, int).

Пример:

Методы

◆ addProperty() [1/2]

bool PIPropertyStorage::addProperty ( const Property p)

Добавляет новое свойство, если его имени не было в контейнере, иначе обновляет существующее свойство с этим именем

Возвращает истину если новое свойство добавлено, в случае обновления "ложь"

◆ addProperty() [2/2]

bool PIPropertyStorage::addProperty ( const PIString _name,
const PIVariant _def_value,
const PIString _comment = PIString(),
int  _flags = 0 
)

Добавляет новое свойство, если его имени не было в контейнере, иначе обновляет существующее свойство с этим именем

Возвращает истину если новое свойство добавлено, в случае обновления "ложь"

◆ removePropertiesByFlag()

int PIPropertyStorage::removePropertiesByFlag ( int  flag)

Удаляет все свойства с флагом "flag", возвращает количество удаленных свойств

"flag" проверяется как битовое поле

◆ updateProperties()

void PIPropertyStorage::updateProperties ( const PIVector< Property > &  properties,
int  flag_ignore = 0 
)

Объединяет "properties" с текущим контейнером

"flag_ignore" - битовое поле для исключения свойств из процесса слияния