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

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

#include <piconfig.h>

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

 Entry ()
 Создает пустую отсоединенную запись.
Entry * parent () const
 Возвращает родительскую запись или 0 для корня и внутренних placeholder-записей по умолчанию.
int childCount () const
 Возвращает количество непосредственных дочерних записей.
Branch & children () const
 Возвращает непосредственных потомков как PIConfig::Branch.
Entry * child (const int index) const
 Возвращает непосредственного потомка с позицией "index".
Entry * findChild (const PIString &name)
 Возвращает первого непосредственного потомка с именем "name".
const Entry * findChild (const PIString &name) const
 Возвращает первого непосредственного потомка с именем "name".
bool isLeaf () const
 Возвращает true, когда у записи нет дочерних элементов.
const PIString & name () const
 Возвращает локальное имя записи без родительского префикса.
const PIString & value () const
 Возвращает исходное сохраненное значение.
const PIString & type () const
 Возвращает сохраненную однобуквенную метку типа.
const PIString & comment () const
 Возвращает встроенный комментарий, сохраненный после метки типа.
const PIString & fullName () const
 Возвращает полное точечное имя в дереве.
Entry & setName (const PIString &value)
 Устанавливает локальное имя в "value" и возвращает эту запись.
Entry & setType (const PIString &value)
 Устанавливает сохраненную метку типа в "value" и возвращает эту запись.
Entry & setComment (const PIString &value)
 Устанавливает встроенный комментарий в "value" и возвращает эту запись.
Entry & setValue (const PIString &value)
 Устанавливает исходное сохраненное значение в "value" и возвращает эту запись.
Entry & setValue (const PIStringList &value)
 Сохраняет список строк и помечает тип записи как "l".
Entry & setValue (const char *value)
 Сохраняет значение C-строки и помечает тип записи как "s".
Entry & setValue (const bool value)
 Сохраняет логическое значение и помечает тип записи как "b".
Entry & setValue (const char value)
 Сохраняет символьное значение и помечает тип записи как "s".
Entry & setValue (const short value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const int value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const long value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const uchar value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const ushort value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const uint value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const ulong value)
 Сохраняет числовое значение и помечает тип записи как "n".
Entry & setValue (const float value)
 Сохраняет вещественное значение и помечает тип записи как "f".
Entry & setValue (const double value)
 Сохраняет вещественное значение и помечает тип записи как "f".
Entry & getValue (const PIString &vname, const PIString &def=PIString(), bool *exists=0)
 Получить запись с именем "vname" и значением по умолчанию "def".
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 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:

  • name
  • value
  • type
  • comment

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

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

Методы

◆ 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, если указатель передан.