ElementListT Class Template Reference

Inheritance diagram for ElementListT:

NonCopyable List of all members.

Detailed Description

template<typename Str>
class omni::conf::ElementListT< Str >

List of configuration elements.

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.

See also:
Configuration tools

Main typedefs

Iterators

Selectors

Front & Back

Get element by name

Get element's value by name

Auxiliary operators

Manipulators


Member Typedef Documentation

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.


Member Function Documentation

const const_iterator begin (  )  const [inline]

Begin of the list.

Returns:
The constant iterator.

const iterator begin (  )  [inline]

Begin of the list.

Returns:
The non-constant iterator.

const const_iterator end (  )  const [inline]

End of the list.

Returns:
The constant iterator.

const iterator end (  )  [inline]

End of the list.

Returns:
The non-constant iterator.

const_reference front (  )  const [inline]

First element.

Returns:
Constant reference.

reference front (  )  [inline]

First element.

Returns:
Non-constant reference.

const_reference back (  )  const [inline]

Last element.

Returns:
Constant reference.

reference back (  )  [inline]

Last element.

Returns:
Non-constant reference.

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.

Parameters:
[in] name The element's name.
Returns:
Constant reference.
Exceptions:
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.

Parameters:
[in] name The element's name.
Returns:
Constant reference.
Exceptions:
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.

Parameters:
[in] name The element's name.
[in] def The default element.
Returns:
Constant reference.
Exceptions:
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.

Parameters:
[in] name The element's name.
[in] def The default element.
Returns:
Constant reference.
Exceptions:
omni::conf::err::NameIsAmbiguousT If element's name is not unique.

reference get ( const String name,
bool  create = false 
) [inline]

Get element by name or create.

Метод возвращает элемент с именем name. Если элемента с таким именем нет, но установлен флаг create, то будет создан новый элемент. Если же флаг create не установлен, будет сгенерировано исключение. Если есть два или более элементов с таким именем, также будет сгенерировано исключение.

Parameters:
[in] name The element's name.
[in] create Create if not exists flag.
Returns:
Non-constant reference.
Exceptions:
omni::conf::err::ElementNotFoundT IF element not found and create flag not set.
omni::conf::err::NameIsAmbiguousT If element's name is not unique.

reference get ( const Char name,
bool  create = false 
) [inline]

Get element by name or create.

Метод возвращает элемент с именем name. Если элемента с таким именем нет, но установлен флаг create, то будет создан новый элемент. Если же флаг create не установлен, будет сгенерировано исключение. Если есть два или более элементов с таким именем, также будет сгенерировано исключение.

Parameters:
[in] name The element's name.
[in] create Create if not exists flag.
Returns:
Non-constant reference.
Exceptions:
omni::conf::err::ElementNotFoundT IF element not found and create flag not set.
omni::conf::err::NameIsAmbiguousT If element's name is not unique.

const String& getv ( const String name  )  const [inline]

Значение элемента с заданным именем.

Метод возвращает значение элемента с именем name. Если элемента с таким именем нет или есть два или более, то будет сгенерировано исключение.

Parameters:
[in] name Имя элемента списка
Returns:
Значение найденного элемента списка
Exceptions:
omni::config::NotFoundFailureT Если элемент с таким именем не найден
omni::config::AmbiguousFailureT Если имя элемента не уникально

const String& getv ( const Char name  )  const [inline]

Значение элемента с заданным именем.

Метод возвращает значение элемента с именем name. Если элемента с таким именем нет или есть два или более, то будет сгенерировано исключение.

Parameters:
[in] name Имя элемента списка
Returns:
Значение найденного элемента списка
Exceptions:
omni::config::NotFoundFailureT Если элемент с таким именем не найден
omni::config::AmbiguousFailureT Если имя элемента не уникально

const String& getv ( const String name,
const String def 
) const [inline]

Значение элемента с заданным именем (по умолчанию).

Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.

Parameters:
[in] name Имя элемента списка
[in] def Возвращаемое значение по умолчанию
Returns:
Значение найденного элемента списка
Exceptions:
omni::config::AmbiguousFailureT Если имя элемента не уникально

const String& getv ( const Char name,
const String def 
) const [inline]

Значение элемента с заданным именем (по умолчанию).

Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.

Parameters:
[in] name Имя элемента списка
[in] def Возвращаемое значение по умолчанию
Returns:
Значение найденного элемента списка
Exceptions:
omni::config::AmbiguousFailureT Если имя элемента не уникально

const Char* getv ( const Char name,
const Char def 
) const [inline]

Значение элемента с заданным именем (по умолчанию).

Метод возвращает значение элемента с именем name. Если элемента с таким именем нет, то будет возвращено значение def. Если с таким именем есть два или более элементов, то будет сгенерировано исключение.

Parameters:
[in] name Имя элемента списка
[in] def Возвращаемое значение по умолчанию
Returns:
Значение найденного элемента списка
Exceptions:
omni::config::AmbiguousFailureT Если имя элемента не уникально

const_reference operator[] ( const String name  )  const [inline]

Элемент с заданным именем.

Метод является псевдонимом для get(name).

Parameters:
[in] name Имя элемента списка
Returns:
Константная ссылка на найденный элемент списка
Exceptions:
omni::config::NotFoundFailureT Если элемент с таким именем не найден
omni::config::AmbiguousFailureT Если имя элемента не уникально

const_reference operator[] ( const Char name  )  const [inline]

Элемент с заданным именем.

Метод является псевдонимом для get(name).

Parameters:
[in] name Имя элемента списка
Returns:
Константная ссылка на найденный элемент списка
Exceptions:
omni::config::NotFoundFailureT Если элемент с таким именем не найден
omni::config::AmbiguousFailureT Если имя элемента не уникально

reference operator[] ( const String name  )  [inline]

Элемент с заданным именем (с созданием).

Метод является псевдонимом для get(name, true). Т.е. если элемент не существует, он будет создан!

Parameters:
[in] name Имя элемента списка
Returns:
Неконстантная ссылка на найденный элемент списка
Exceptions:
omni::config::AmbiguousFailureT Если имя элемента не уникально

reference operator[] ( const Char name  )  [inline]

Элемент с заданным именем (с созданием).

Метод является псевдонимом для get(name, true). Т.е. если элемент не существует, он будет создан!

Parameters:
[in] name Имя элемента списка
Returns:
Неконстантная ссылка на найденный элемент списка
Exceptions:
omni::config::AmbiguousFailureT Если имя элемента не уникально

const ThisType& operator() (  )  const [inline]

Ссылка на себя.

Метод возвращает ссылку на себя.

Returns:
Self reference.

ThisType& operator() (  )  [inline]

Ссылка на себя.

Метод возвращает ссылку на себя.

Returns:
Self reference.

reference push_back ( const_reference  prototype  )  [inline]

Создать новый элемент в конце списка (копия).

Метод создаёт новый элемент копию prototype, который добавляется в конец списка.

Parameters:
[in] prototype Прототип создаваемого элемента
Returns:
Неконстантная ссылка на созданный элемент

reference push_back ( const String name  )  [inline]

Создать новый элемент в конце списка (имя).

Метод создаёт новый элемент с именем name, который добавляется в конец списка.

Parameters:
[in] name Имя элемента списка
Returns:
Неконстантная ссылка на созданный элемент

reference push_back ( const Char name  )  [inline]

Создать новый элемент в конце списка (имя).

Метод создаёт новый элемент с именем name, который добавляется в конец списка.

Parameters:
[in] name Имя элемента списка
Returns:
Неконстантная ссылка на созданный элемент

reference push_back (  )  [inline]

Создать новый элемент в конце списка.

Метод создаёт новый элемент с именем по умолчанию, который добавляется в конец списка.

Returns:
Неконстантная ссылка на созданный элемент

void remove ( reference  x  )  [inline]

Удалить существующий элемент.

Метод удаляет элемент из списка.

Элемент должен принадлежать этому же списку!

Parameters:
[in] x Неконстантная ссылка на удаляемый элемент списка

void remove ( iterator  pos  )  [inline]

Удалить существующий элемент.

Метод удаляет элемент из списка.

Элемент должен принадлежать этому же списку!

Parameters:
[in] pos Неконстантная ссылка на удаляемый элемент списка

void remove ( const String name  )  [inline]

Удалить существующий элемент.

Метод удаляет элемент из списка.

Элемент должен принадлежать этому же списку!

Parameters:
[in] name элемент списка

void remove ( const Char name  )  [inline]

Удалить существующий элемент.

Метод удаляет элемент из списка.

Элемент должен принадлежать этому же списку!

Parameters:
[in] name элемент списка

void clear (  )  [inline]

Удалить все элементы списка.

Метод удяляет все элементы списка.

bool exists ( const String name  )  const [inline]

Проверить наличие элемента с заданным именем.

Метод проверяет, существует ли хотя бы один элемент с именем name.

Parameters:
[in] name Имя элемента списка
Returns:
true если существует хотя бы один элемент с заданным именем, иначе false

bool exists ( const Char name  )  const [inline]

Проверить наличие элемента с заданным именем.

Метод проверяет, существует ли хотя бы один элемент с именем name.

Parameters:
[in] name Имя элемента списка
Returns:
true если существует хотя бы один элемент с заданным именем, иначе false

size_type size (  )  const [inline]

Количество элементов в списке.

Метод возвращает количество элементов в списке.

Returns:
Количество элементов в списке

bool empty (  )  const [inline]

Проверить список на пустоту.

Метод проверяет, является ли список элементов пустым.

Returns:
true Если список пуст, иначе false


Generated on Wed Jun 6 17:27:47 2007 for OMNI by  doxygen 1.5.2