Inheritance diagram for ElementListT:
This is auxiliary class. You can't create instances of this class. Instead use SectionT::elements property.
The class is a container of configuration elements. It contains a several manipulators: push_back(), remove(), exists(). It also supports iterator methods: begin() and end().
The class contains operator()(), which returns self reference. So, you can use one of the following:
void f(Section &s) { s.elements().push_back(); // -or- s.elements.push_back(); }
To access child element by name you can use one of the overloaded get() methods. To access child element value you can use one of the overloaded getv() method. Also you can use operator[]():
// element's value access void f(const Section &s) { s.elements.get("elem_name").val(); s.elements["elem_name"].val(); s.elements.getv("elem_name"); }
You can access element by name only if the name is unique. Otherwise you can use begin() and end() methods to iterate all child elements.
typedef ElementT<Str> value_type |
Value type.
typedef const value_type& const_reference |
Constant reference.
typedef value_type& reference |
Non-constant reference.
typedef value_type::String String |
String type.
typedef value_type::Char Char |
Char type.
typedef Container::size_type size_type |
Size type.
typedef implementation_defined_1 const_iterator |
Constant iterator.
typedef implementation_defined_2 iterator |
Non-constant iterator.
const const_iterator begin | ( | ) | const [inline] |
Begin of the list.
const iterator begin | ( | ) | [inline] |
Begin of the list.
const const_iterator end | ( | ) | const [inline] |
End of the list.
const iterator end | ( | ) | [inline] |
End of the list.
const_reference front | ( | ) | const [inline] |
First element.
reference front | ( | ) | [inline] |
First element.
const_reference back | ( | ) | const [inline] |
Last element.
reference back | ( | ) | [inline] |
Last element.
const_reference get | ( | const String & | name | ) | const [inline] |
Get element by name.
This method returns a element with specified name name. If the element with that name is not exists or the name is not unique the exception will be thrown.
[in] | name | The element's name. |
omni::conf::err::ElementNotFoundT | If element not found. | |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
const_reference get | ( | const Char * | name | ) | const [inline] |
Get element by name.
This method returns a element with specified name name. If the element with that name is not exists or the name is not unique the exception will be thrown.
[in] | name | The element's name. |
omni::conf::err::ElementNotFoundT | If element not found. | |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
const_reference get | ( | const String & | name, | |
const_reference | def | |||
) | const [inline] |
Get element by name or default.
This method returns a element with specified name name. If the element with that name is not exists, then the def element will be returned. If the element's name is not unique the exception will be thrown.
[in] | name | The element's name. |
[in] | def | The default element. |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
const_reference get | ( | const Char * | name, | |
const_reference | def | |||
) | const [inline] |
Get element by name or default.
This method returns a element with specified name name. If the element with that name is not exists, then the def element will be returned. If the element's name is not unique the exception will be thrown.
[in] | name | The element's name. |
[in] | def | The default element. |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
Get element by name or create.
Метод возвращает элемент с именем name. Если элемента с таким именем нет, но установлен флаг create, то будет создан новый элемент. Если же флаг create не установлен, будет сгенерировано исключение. Если есть два или более элементов с таким именем, также будет сгенерировано исключение.
[in] | name | The element's name. |
[in] | create | Create if not exists flag. |
omni::conf::err::ElementNotFoundT | IF element not found and create flag not set. | |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
Get element by name or create.
Метод возвращает элемент с именем name. Если элемента с таким именем нет, но установлен флаг create, то будет создан новый элемент. Если же флаг create не установлен, будет сгенерировано исключение. Если есть два или более элементов с таким именем, также будет сгенерировано исключение.
[in] | name | The element's name. |
[in] | create | Create if not exists flag. |
omni::conf::err::ElementNotFoundT | IF element not found and create flag not set. | |
omni::conf::err::NameIsAmbiguousT | If element's name is not unique. |
Значение элемента с заданным именем.
Метод возвращает значение элемента с именем name. Если элемента с таким именем нет или есть два или более, то будет сгенерировано исключение.
[in] | name | Имя элемента списка |
omni::config::NotFoundFailureT | Если элемент с таким именем не найден | |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Значение элемента с заданным именем.
Метод возвращает значение элемента с именем name. Если элемента с таким именем нет или есть два или более, то будет сгенерировано исключение.
[in] | name | Имя элемента списка |
omni::config::NotFoundFailureT | Если элемент с таким именем не найден | |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Значение элемента с заданным именем (по умолчанию).
Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.
[in] | name | Имя элемента списка |
[in] | def | Возвращаемое значение по умолчанию |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Значение элемента с заданным именем (по умолчанию).
Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.
[in] | name | Имя элемента списка |
[in] | def | Возвращаемое значение по умолчанию |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Значение элемента с заданным именем (по умолчанию).
Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.
[in] | name | Имя элемента списка |
[in] | def | Возвращаемое значение по умолчанию |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
const_reference operator[] | ( | const String & | name | ) | const [inline] |
Элемент с заданным именем.
Метод является псевдонимом для get(name).
[in] | name | Имя элемента списка |
omni::config::NotFoundFailureT | Если элемент с таким именем не найден | |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
const_reference operator[] | ( | const Char * | name | ) | const [inline] |
Элемент с заданным именем.
Метод является псевдонимом для get(name).
[in] | name | Имя элемента списка |
omni::config::NotFoundFailureT | Если элемент с таким именем не найден | |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Элемент с заданным именем (с созданием).
Метод является псевдонимом для get(name, true). Т.е. если элемент не существует, он будет создан!
[in] | name | Имя элемента списка |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
Элемент с заданным именем (с созданием).
Метод является псевдонимом для get(name, true). Т.е. если элемент не существует, он будет создан!
[in] | name | Имя элемента списка |
omni::config::AmbiguousFailureT | Если имя элемента не уникально |
const ThisType& operator() | ( | ) | const [inline] |
Ссылка на себя.
Метод возвращает ссылку на себя.
ThisType& operator() | ( | ) | [inline] |
Ссылка на себя.
Метод возвращает ссылку на себя.
reference push_back | ( | const_reference | prototype | ) | [inline] |
Создать новый элемент в конце списка (копия).
Метод создаёт новый элемент копию prototype, который добавляется в конец списка.
[in] | prototype | Прототип создаваемого элемента |
Создать новый элемент в конце списка (имя).
Метод создаёт новый элемент с именем name, который добавляется в конец списка.
[in] | name | Имя элемента списка |
Создать новый элемент в конце списка (имя).
Метод создаёт новый элемент с именем name, который добавляется в конец списка.
[in] | name | Имя элемента списка |
reference push_back | ( | ) | [inline] |
Создать новый элемент в конце списка.
Метод создаёт новый элемент с именем по умолчанию, который добавляется в конец списка.
void remove | ( | reference | x | ) | [inline] |
Удалить существующий элемент.
Метод удаляет элемент из списка.
Элемент должен принадлежать этому же списку!
[in] | x | Неконстантная ссылка на удаляемый элемент списка |
void remove | ( | iterator | pos | ) | [inline] |
Удалить существующий элемент.
Метод удаляет элемент из списка.
Элемент должен принадлежать этому же списку!
[in] | pos | Неконстантная ссылка на удаляемый элемент списка |
void remove | ( | const String & | name | ) | [inline] |
Удалить существующий элемент.
Метод удаляет элемент из списка.
Элемент должен принадлежать этому же списку!
[in] | name | элемент списка |
void remove | ( | const Char * | name | ) | [inline] |
Удалить существующий элемент.
Метод удаляет элемент из списка.
Элемент должен принадлежать этому же списку!
[in] | name | элемент списка |
void clear | ( | ) | [inline] |
Удалить все элементы списка.
Метод удяляет все элементы списка.
bool exists | ( | const String & | name | ) | const [inline] |
Проверить наличие элемента с заданным именем.
Метод проверяет, существует ли хотя бы один элемент с именем name.
[in] | name | Имя элемента списка |
bool exists | ( | const Char * | name | ) | const [inline] |
Проверить наличие элемента с заданным именем.
Метод проверяет, существует ли хотя бы один элемент с именем name.
[in] | name | Имя элемента списка |
size_type size | ( | ) | const [inline] |
Количество элементов в списке.
Метод возвращает количество элементов в списке.
bool empty | ( | ) | const [inline] |
Проверить список на пустоту.
Метод проверяет, является ли список элементов пустым.