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

Узел разобранного дерева конфигурации. Подробнее...

#include <piconfig.h>

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

 Entry ()
 Создает пустую отсоединенную запись.
 
Entryparent () const
 Возвращает родительскую запись или 0 для корня и внутренних placeholder-записей по умолчанию.
 
int childCount () const
 Возвращает количество непосредственных дочерних записей.
 
Branchchildren () const
 Возвращает непосредственных потомков как PIConfig::Branch.
 
Entrychild (const int index) const
 Возвращает непосредственного потомка с позицией "index".
 
EntryfindChild (const PIString &name)
 Возвращает первого непосредственного потомка с именем "name".
 
const EntryfindChild (const PIString &name) const
 Возвращает первого непосредственного потомка с именем "name".
 
bool isLeaf () const
 Возвращает true, когда у записи нет дочерних элементов.
 
const PIStringname () const
 Возвращает локальное имя записи без родительского префикса.
 
const PIStringvalue () const
 Возвращает исходное сохраненное значение.
 
const PIStringtype () const
 Возвращает сохраненную однобуквенную метку типа.
 
const PIStringcomment () const
 Возвращает встроенный комментарий, сохраненный после метки типа.
 
const PIStringfullName () const
 Возвращает полное точечное имя в дереве. Подробнее...
 
EntrysetName (const PIString &value)
 Устанавливает локальное имя в "value" и возвращает эту запись.
 
EntrysetType (const PIString &value)
 Устанавливает сохраненную метку типа в "value" и возвращает эту запись.
 
EntrysetComment (const PIString &value)
 Устанавливает встроенный комментарий в "value" и возвращает эту запись.
 
EntrysetValue (const PIString &value)
 Устанавливает исходное сохраненное значение в "value" и возвращает эту запись.
 
EntrysetValue (const PIStringList &value)
 Сохраняет список строк и помечает тип записи как "l".
 
EntrysetValue (const char *value)
 Сохраняет значение C-строки и помечает тип записи как "s".
 
EntrysetValue (const bool value)
 Сохраняет логическое значение и помечает тип записи как "b".
 
EntrysetValue (const char value)
 Сохраняет символьное значение и помечает тип записи как "s".
 
EntrysetValue (const short value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const int value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const long value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const uchar value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const ushort value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const uint value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const ulong value)
 Сохраняет числовое значение и помечает тип записи как "n".
 
EntrysetValue (const float value)
 Сохраняет вещественное значение и помечает тип записи как "f".
 
EntrysetValue (const double value)
 Сохраняет вещественное значение и помечает тип записи как "f".
 
EntrygetValue (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def". Подробнее...
 
EntrygetValue (const PIString &vname, const char *def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const PIStringList &def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const bool def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const short def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const int def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const long def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const uchar def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const ushort def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const uint def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const ulong def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const float def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
EntrygetValue (const PIString &vname, const double def, bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
 
Branch getValues (const PIString &vname)
 Возвращает непосредственных потомков, чьи имена содержат подстроку "vname".
 
bool isEntryExists (const PIString &name) const
 Возвращает true, если эта запись или любой ее потомок имеет имя "name".
 
bool toBool () const
 Преобразует сохраненное значение в bool.
 
char toChar () const
 Преобразует сохраненное значение в char.
 
short toShort () const
 Преобразует сохраненное значение в short.
 
int toInt () const
 Преобразует сохраненное значение в int.
 
long toLong () const
 Преобразует сохраненное значение в long.
 
uchar toUChar () const
 Преобразует сохраненное значение в uchar.
 
ushort toUShort () const
 Преобразует сохраненное значение в ushort.
 
uint toUInt () const
 Преобразует сохраненное значение в uint.
 
ulong toULong () const
 Преобразует сохраненное значение в ulong.
 
float toFloat () const
 Преобразует сохраненное значение в float.
 
double toDouble () const
 Преобразует сохраненное значение в double.
 
PIString toString () const
 Возвращает сохраненное значение как PIString.
 
PIStringList toStringList () const
 Разбивает сохраненное списковое значение в PIStringList, используя внутренний разделитель списков.
 

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

Узел разобранного дерева конфигурации.

Entry of configuration file

Хранит имя записи, значение, метку типа, встроенный комментарий и дочерние записи, полученные из точечных имен.

This class is node of internal PIConfig tree. Entry provide access to elements of PIConfig. Each entry has children or next properties:

Each property is a PIString. These properties forms from text line with format:

<name> = <value> #<type> <comment>
const PIString & type() const
Возвращает сохраненную однобуквенную метку типа.
Definition: piconfig.h:307
const PIString & value() const
Возвращает исходное сохраненное значение.
Definition: piconfig.h:303
const PIString & comment() const
Возвращает встроенный комментарий, сохраненный после метки типа.
Definition: piconfig.h:311
const PIString & name() const
Возвращает локальное имя записи без родительского префикса.
Definition: piconfig.h:299

Type and comment are optional fields. Type is a single letter immediately after comment symbol "#".

Entry has many implicit convertions to common types: boolean, integers, float, double, PIString, PIStringList.

Generally there is no need to create instance of PIConfig::Entry manually, it returns by functions getValue() of PIConfig, PIConfig::Entry or PIConfig::Branch. If there is no suitable entry to return, reference to internal instance of PIConfig::Entry with "default" value will be returned.

/* "example.conf"
a = 1
s0.a = A
s0.b = B
*/
PIConfig conf("example.conf", PIIODevice::ReadOnly);
PIConfig::Entry ce = conf.getValue("a");
int a = ce; // a = 1
PIString A = ce; // A = "1"
ce = conf.getValue("s0");
piCout << ce.childCount(); // 2
A = ce.getValue("b"); // A = "B"
A = conf.getValue("s0.a"); // A = "A"
Узел разобранного дерева конфигурации.
Definition: piconfig.h:245
int childCount() const
Возвращает количество непосредственных дочерних записей.
Definition: piconfig.h:263
Entry & getValue(const PIString &vname, const PIString &def=PIString(), bool *exists=0)
Получить запись с именем "vname" и значением по умолчанию "def".
Definition: piconfig.cpp:212
Разбор и запись конфигурационных файлов с поддержкой древовидной структуры
Definition: piconfig.h:71
@ ReadOnly
Definition: piiodevice.h:104
Класс строки.
Definition: pistring.h:42
#define piCout
Definition: picout.h:36

Методы

◆ fullName()

const PIString & PIConfig::Entry::fullName ( ) const
inline

Возвращает полное точечное имя в дереве.

У placeholder-записей по умолчанию полное имя всегда пустое.

PIConfig conf("example.conf", PIIODevice::ReadOnly);
piCout << conf.getValue("a.b.c").name(); // "c"
piCout << conf.getValue("a.b.c").fullName(); // "a.b.c"

◆ getValue()

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

Получить запись с именем "vname" и значением по умолчанию "def".

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