Титульная страница | Пространства имен | Иерархия классов | Алфавитный указатель | Классы | Файлы | Члены пространства имен | Члены классов | Описания | Примеры

Шаблон класса cls_2::tag_vector_of_tags_t< Tag >

#include <tag_vector_of_tags.hpp>

Граф наследования:cls_2::tag_vector_of_tags_t< Tag >:

cls_2::tag_t Полный список членов класса

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

template<class Tag>
class cls_2::tag_vector_of_tags_t< Tag >

Tag to parse multiple instances of one tag.

For example, lets exists class my_field_tag_t for parsing:

{field <name> {int <int-value> } {float <float-value> } {string <string-value> } }

Class tag_vector_of_tags_t< my_field_tag_t > can parse following case:

{message <name> {field ... } {field ... } ... {field ... } }

Requiremets:
Subordinate class (template parameter Tag) must have following constructor:
Tag( const char * tag_name, bool is_mandatory )


Открытые типы

typedef Tag tag_type_t

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

 tag_vector_of_tags_t (const char *name, bool is_mandatory)
 Стандартный конструктор.

 tag_vector_of_tags_t (tag_t &owner, const char *name, bool is_mandatory)
 Конструктор для случая, когда тег является подчиненным тегом.

virtual int on_start (parser_context_t &context)
 Called when tag parsing started.

virtual int on_finish (parser_context_t &context)
virtual int on_tag (parser_context_t &context, tag_t &tag)
virtual int on_tok_space (parser_context_t &context, const char *tok_value)
virtual int on_tok_nonspace (parser_context_t &context, const char *tok_value)
virtual int on_tok_string (parser_context_t &context, const char *tok_value)
virtual tag_t ** query_tags ()
virtual bool is_mandatory () const
virtual bool is_defined () const
virtual void reset ()
virtual void format (tag_formatter_t &fmt)
size_t size () const
const Tag & at (size_t index) const
const_iterator begin () const
 Получение доступа к разобранным тегам в стиле константных итераторов stl.

const_iterator end () const
 Получение доступа к разобранным тегам в стиле константных итераторов stl.

void make_defined (Tag *tag)

Защищенные типы

typedef Tag * ptr_t
typedef std::vector< ptr_t > vector_t

Защищенные члены

void destroy_contents ()

Защищенные данные

auto_ptr_3::obj_ptr_t< Tag > m_cur_tag
vector_t m_values
bool m_is_mandatory


Конструктор(ы)

template<class Tag>
cls_2::tag_vector_of_tags_t< Tag >::tag_vector_of_tags_t tag_t owner,
const char *  name,
bool  is_mandatory
 

Конструктор для случая, когда тег является подчиненным тегом.

Начиная с:
v.2.6.2
Аргументы:
owner  Владелец, к которому мы будем автоматически добавлены.
mandatory  Если тег обязательный, то хотя бы одна копия тега должна быть разобрана.


Методы

template<class Tag>
tag_vector_of_tags_t< Tag >::const_iterator cls_2::tag_vector_of_tags_t< Tag >::begin  )  const
 

Получение доступа к разобранным тегам в стиле константных итераторов stl.

Начиная с:
v.2.6.2

template<class Tag>
tag_vector_of_tags_t< Tag >::const_iterator cls_2::tag_vector_of_tags_t< Tag >::end  )  const
 

Получение доступа к разобранным тегам в стиле константных итераторов stl.

Начиная с:
v.2.6.2

template<class Tag>
int cls_2::tag_vector_of_tags_t< Tag >::on_start parser_context_t context  )  [virtual]
 

Called when tag parsing started.

Default implementation returns c_ok

Переопределяет метод предка cls_2::tag_t.


Объявления и описания членов класса находятся в файле:
Документация по cls_2. Последние изменения: Wed Aug 4 15:13:01 2004. Создано системой doxygen 1.3.7
Hosted by uCoz