31#ifndef CFGFILE__TAG_VECTOR_OF_TAGS_HPP__INCLUDED
32#define CFGFILE__TAG_VECTOR_OF_TAGS_HPP__INCLUDED
59template<
typename T,
typename Trait =
string_trait_t >
61 :
public tag_t< Trait >
78 const typename Trait::string_t &
name,
89 typename vector_of_tags_t::size_type
97 at(
typename vector_of_tags_t::size_type index )
const
99 return *m_tags.at( index );
117 m_tags.push_back(
p );
151 return m_current->children();
159 typename Trait::string_t
result;
163 for(
const ptr_to_tag_t &
p : m_tags )
170#if defined( CFGFILE_QT_SUPPORT ) && defined( CFGFILE_XML_SUPPORT )
176 for(
const ptr_to_tag_t &
p : m_tags )
186 m_current->set_parent( this->
parent() );
187 m_current->on_start(
info );
193 m_current->on_finish(
info );
194 m_tags.push_back( m_current );
202 const typename Trait::string_t &
str )
override
204 m_current->on_string(
info,
str );
Exception in the library.
Definition exceptions.hpp:51
Base class for the tags in the configuration file.
Definition tag.hpp:58
void set_defined(bool on=true)
Set "defined" property.
Definition tag.hpp:164
bool is_mandatory() const
Definition tag.hpp:146
bool is_defined() const
Definition tag.hpp:152
const tag_t< Trait > * parent() const
Definition tag.hpp:134
const Trait::string_t & name() const
Definition tag.hpp:140