All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Gaudi::Parsers::VectorGrammar< GrammarT > Class Template Reference

The valid represenation of vector are: More...

#include <GaudiKernel/Grammars.h>

Inheritance diagram for Gaudi::Parsers::VectorGrammar< GrammarT >:
Collaboration diagram for Gaudi::Parsers::VectorGrammar< GrammarT >:

Classes

struct  definition
 

Public Types

typedef GrammarT::ResultT ValueT
 
typedef std::vector< ValueTResultT
 
typedef VectorGrammar< GrammarT > SelfT
 
typedef VectorT ResultT
 

Public Member Functions

void matchItem (const ValueT &value) const
 callback. Action when we match inner value More...
 
 VectorGrammar ()
 

Public Attributes

Grammar_< Iterator, typename
VectorT::value_type, Skipper >
::Grammar 
elementGrammar
 
qi::rule< Iterator, char()> begin
 
qi::rule< Iterator, void(char)> end
 
qi::rule< Iterator, ResultT(),
qi::locals< char >, Skipper
vec
 
qi::rule< Iterator, ResultT(),
Skipper
list
 

Detailed Description

template<typename GrammarT>
class Gaudi::Parsers::VectorGrammar< GrammarT >

The valid represenation of vector are:

  • {"abc","defj","i"} or {1,2,3,4,5}
  • ["abc","defj","i"] or [1,2,3,4,5] Inner type depends on GrammarT grammar
Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-14

Definition at line 424 of file Grammars.h.

Member Typedef Documentation

template<typename GrammarT>
typedef VectorT Gaudi::Parsers::VectorGrammar< GrammarT >::ResultT

Definition at line 183 of file GrammarsV2.h.

template<typename GrammarT>
typedef std::vector<ValueT> Gaudi::Parsers::VectorGrammar< GrammarT >::ResultT

Definition at line 432 of file Grammars.h.

template<typename GrammarT>
typedef VectorGrammar<GrammarT> Gaudi::Parsers::VectorGrammar< GrammarT >::SelfT

Definition at line 433 of file Grammars.h.

template<typename GrammarT>
typedef GrammarT::ResultT Gaudi::Parsers::VectorGrammar< GrammarT >::ValueT

Definition at line 431 of file Grammars.h.

Constructor & Destructor Documentation

template<typename GrammarT>
Gaudi::Parsers::VectorGrammar< GrammarT >::VectorGrammar ( )
inline

Definition at line 185 of file GrammarsV2.h.

185  : VectorGrammar::base_type(vec) {
186  begin = enc::char_('[')[qi::_val=']'] | enc::char_('{')[qi::_val='}']
187  | enc::char_('(')[qi::_val=')'];
188  end = enc::char_(qi::_r1);
189  list = elementGrammar % ',';
190  vec = begin[qi::_a = qi::_1] >> -list[qi::_val=qi::_1] >> end(qi::_a);
191  }
qi::rule< Iterator, ResultT(), Skipper > list
Definition: GrammarsV2.h:200
qi::rule< Iterator, void(char)> end
Definition: GrammarsV2.h:197
qi::rule< Iterator, char()> begin
Definition: GrammarsV2.h:196
qi::rule< Iterator, ResultT(), qi::locals< char >, Skipper > vec
Definition: GrammarsV2.h:199
Grammar_< Iterator, typename VectorT::value_type, Skipper >::Grammar elementGrammar
Definition: GrammarsV2.h:195

Member Function Documentation

template<typename GrammarT>
void Gaudi::Parsers::VectorGrammar< GrammarT >::matchItem ( const ValueT value) const
inline

callback. Action when we match inner value

Definition at line 436 of file Grammars.h.

436 { this->val().push_back(value); }

Member Data Documentation

template<typename GrammarT>
qi::rule<Iterator, char()> Gaudi::Parsers::VectorGrammar< GrammarT >::begin

Definition at line 196 of file GrammarsV2.h.

template<typename GrammarT>
Grammar_<Iterator, typename VectorT::value_type, Skipper>::Grammar Gaudi::Parsers::VectorGrammar< GrammarT >::elementGrammar

Definition at line 195 of file GrammarsV2.h.

template<typename GrammarT>
qi::rule<Iterator, void(char)> Gaudi::Parsers::VectorGrammar< GrammarT >::end

Definition at line 197 of file GrammarsV2.h.

template<typename GrammarT>
qi::rule<Iterator, ResultT(), Skipper> Gaudi::Parsers::VectorGrammar< GrammarT >::list

Definition at line 200 of file GrammarsV2.h.

template<typename GrammarT>
qi::rule<Iterator, ResultT(), qi::locals<char>,Skipper> Gaudi::Parsers::VectorGrammar< GrammarT >::vec

Definition at line 199 of file GrammarsV2.h.


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