cfgfile 0.2.11
Loading...
Searching...
No Matches
cfgfile::tag_vector_of_tags_t< T, Trait > Class Template Reference

Tag with multiple instancies of the given tag. More...

#include <tag_vector_of_tags.hpp>

+ Inheritance diagram for cfgfile::tag_vector_of_tags_t< T, Trait >:
+ Collaboration diagram for cfgfile::tag_vector_of_tags_t< T, Trait >:

Public Types

typedef std::shared_ptr< Tptr_to_tag_t
 Type of the pointer to the subordinate tag,.
 
typedef std::vector< ptr_to_tag_tvector_of_tags_t
 Type of the vector of subordinate tags.
 
- Public Types inherited from cfgfile::tag_t< Trait >
typedef std::vector< tag_t< Trait > * > child_tags_list_t
 List with children.
 

Public Member Functions

 tag_vector_of_tags_t (const typename Trait::string_t &name, bool is_mandatory=false)
 Construct tag.
 
 tag_vector_of_tags_t (tag_t< Trait > &owner, const typename Trait::string_t &name, bool is_mandatory=false)
 Construct tag.
 
 ~tag_vector_of_tags_t ()
 
vector_of_tags_t::size_type size () const
 
const Tat (typename vector_of_tags_t::size_type index) const
 
const vector_of_tags_tvalues () const
 
void set_value (ptr_to_tag_t p)
 Set value.
 
void set_values (const vector_of_tags_t &v)
 Set values.
 
void query_opt_values (vector_of_tags_t &receiver)
 Query optional values.
 
const tag_t< Trait >::child_tags_list_tchildren () const override
 
Trait::string_t print (int indent=0) const override
 Print tag to the output.
 
void print (QDomDocument &doc, QDomElement *parent=0) const override
 Print tag to the output.
 
void on_start (const parser_info_t< Trait > &info) override
 Called when tag parsing started.
 
void on_finish (const parser_info_t< Trait > &info) override
 Called when tag parsing finished.
 
void on_string (const parser_info_t< Trait > &info, const typename Trait::string_t &str) override
 Called when string found.
 
- Public Member Functions inherited from cfgfile::tag_t< Trait >
 tag_t (const typename Trait::string_t &name, bool is_mandatory=false)
 Construct tag.
 
 tag_t (tag_t< Trait > &owner, const typename Trait::string_t &name, bool is_mandatory=false)
 Construct tag.
 
virtual ~tag_t ()
 
void add_child (tag_t< Trait > &tag)
 Add child tag.
 
void remove_child (tag_t< Trait > &tag)
 Remove child tag.
 
const tag_t< Trait > * parent () const
 
const Trait::string_t & name () const
 
bool is_mandatory () const
 
bool is_defined () const
 
void set_defined (bool on=true)
 Set "defined" property.
 
Trait::pos_t line_number () const
 
Trait::pos_t column_number () const
 

Additional Inherited Members

- Protected Member Functions inherited from cfgfile::tag_t< Trait >
void set_parent (const tag_t< Trait > *p)
 Set parent tag.
 
bool is_any_child_defined () const
 
bool is_defined_member_value () const
 

Detailed Description

template<typename T, typename Trait = string_trait_t>
class cfgfile::tag_vector_of_tags_t< T, Trait >

Tag with multiple instancies of the given tag.

Subordinate tag must have following constructor

tag_t< Trait >( const Trait::string_t & name, bool is_mandatory );
bool is_mandatory() const
Definition tag.hpp:146
const Trait::string_t & name() const
Definition tag.hpp:140

Member Typedef Documentation

◆ ptr_to_tag_t

template<typename T , typename Trait = string_trait_t>
typedef std::shared_ptr< T > cfgfile::tag_vector_of_tags_t< T, Trait >::ptr_to_tag_t

Type of the pointer to the subordinate tag,.

◆ vector_of_tags_t

template<typename T , typename Trait = string_trait_t>
typedef std::vector< ptr_to_tag_t > cfgfile::tag_vector_of_tags_t< T, Trait >::vector_of_tags_t

Type of the vector of subordinate tags.

Constructor & Destructor Documentation

◆ tag_vector_of_tags_t() [1/2]

template<typename T , typename Trait = string_trait_t>
cfgfile::tag_vector_of_tags_t< T, Trait >::tag_vector_of_tags_t ( const typename Trait::string_t &  name,
bool  is_mandatory = false 
)
inlineexplicit

Construct tag.

◆ tag_vector_of_tags_t() [2/2]

template<typename T , typename Trait = string_trait_t>
cfgfile::tag_vector_of_tags_t< T, Trait >::tag_vector_of_tags_t ( tag_t< Trait > &  owner,
const typename Trait::string_t &  name,
bool  is_mandatory = false 
)
inline

Construct tag.

◆ ~tag_vector_of_tags_t()

template<typename T , typename Trait = string_trait_t>
cfgfile::tag_vector_of_tags_t< T, Trait >::~tag_vector_of_tags_t ( )
inline

Member Function Documentation

◆ at()

template<typename T , typename Trait = string_trait_t>
const T & cfgfile::tag_vector_of_tags_t< T, Trait >::at ( typename vector_of_tags_t::size_type  index) const
inline
Returns
Subordinate tag at the given position.

◆ children()

template<typename T , typename Trait = string_trait_t>
const tag_t< Trait >::child_tags_list_t & cfgfile::tag_vector_of_tags_t< T, Trait >::children ( ) const
inlineoverridevirtual
Returns
List with children.

Reimplemented from cfgfile::tag_t< Trait >.

◆ on_finish()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::on_finish ( const parser_info_t< Trait > &  info)
inlineoverridevirtual

Called when tag parsing finished.

Implements cfgfile::tag_t< Trait >.

◆ on_start()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::on_start ( const parser_info_t< Trait > &  info)
inlineoverridevirtual

Called when tag parsing started.

Reimplemented from cfgfile::tag_t< Trait >.

◆ on_string()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::on_string ( const parser_info_t< Trait > &  info,
const typename Trait::string_t &  str 
)
inlineoverridevirtual

Called when string found.

Implements cfgfile::tag_t< Trait >.

◆ print() [1/2]

template<typename T , typename Trait = string_trait_t>
Trait::string_t cfgfile::tag_vector_of_tags_t< T, Trait >::print ( int  indent = 0) const
inlineoverridevirtual

Print tag to the output.

Implements cfgfile::tag_t< Trait >.

◆ print() [2/2]

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::print ( QDomDocument doc,
QDomElement parent = 0 
) const
inlineoverridevirtual

Print tag to the output.

Implements cfgfile::tag_t< Trait >.

◆ query_opt_values()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::query_opt_values ( vector_of_tags_t receiver)
inline

Query optional values.

If isDefined() is true then receiver will be initialized with values of the tag, otherwise nothing with receiver will happen.

◆ set_value()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::set_value ( ptr_to_tag_t  p)
inline

Set value.

Repeatly adds value to the end of vector.

◆ set_values()

template<typename T , typename Trait = string_trait_t>
void cfgfile::tag_vector_of_tags_t< T, Trait >::set_values ( const vector_of_tags_t v)
inline

Set values.

◆ size()

template<typename T , typename Trait = string_trait_t>
vector_of_tags_t::size_type cfgfile::tag_vector_of_tags_t< T, Trait >::size ( ) const
inline
Returns
Amount of the subordinate tags.

◆ values()

template<typename T , typename Trait = string_trait_t>
const vector_of_tags_t & cfgfile::tag_vector_of_tags_t< T, Trait >::values ( ) const
inline
Returns
Vector with subordinate tags.

The documentation for this class was generated from the following file: