Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT > Struct Template Reference

#include </scratch/z5/marcocle/GaudiDocs/lhcb-release/825/GAUDI/GAUDI_v26r3/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/Grammars.h>

Public Member Functions

 definition (MapGrammar const &self)
 
rule< ScannerT > const & start () const
 
 definition (MapGrammar const &self)
 
rule< ScannerT > const & start () const
 

Public Attributes

KeyGrammarT grKey
 
ValueGrammarT grValue
 
rule< ScannerT > vec
 
rule< ScannerT > inner
 
rule< ScannerT > inner_list
 

Detailed Description

template<typename KeyGrammarT, typename ValueGrammarT>
template<typename ScannerT>
struct Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >

Definition at line 499 of file Grammars.h.

Constructor & Destructor Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::definition ( MapGrammar const &  self)
inline

Definition at line 501 of file Grammars.h.

502  {
503  vec
504  = ('{'>> inner_list >> '}') | ('['>>inner_list>>']');
505  inner_list
506  =
507  !( inner[boost::bind(&MapGrammar::matchItem,&self)]
508  >> *( ch_p(',') >>
509  inner[boost::bind(&MapGrammar::matchItem,&self)] )
510  );
511  inner
512  =
513  grKey[boost ::bind(&MapGrammar::matchFirst,&self,_1)]
514  >> ( ch_p('=') | ch_p(':'))
515  >> grValue[boost::bind(&MapGrammar::matchSecond,&self,_1)] ;
516  }
void matchFirst(const KeyT &value) const
call backs. Action when we match key of pair
Definition: Grammars.h:494
void matchSecond(const ValueT &value) const
call backs. Action when we match value pf pair
Definition: Grammars.h:496
void matchItem() const
call backs. Action when we match pair in map
Definition: Grammars.h:488
template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::definition ( MapGrammar const &  self)
inline

Definition at line 501 of file Grammars.h.

502  {
503  vec
504  = ('{'>> inner_list >> '}') | ('['>>inner_list>>']');
505  inner_list
506  =
507  !( inner[boost::bind(&MapGrammar::matchItem,&self)]
508  >> *( ch_p(',') >>
509  inner[boost::bind(&MapGrammar::matchItem,&self)] )
510  );
511  inner
512  =
513  grKey[boost ::bind(&MapGrammar::matchFirst,&self,_1)]
514  >> ( ch_p('=') | ch_p(':'))
515  >> grValue[boost::bind(&MapGrammar::matchSecond,&self,_1)] ;
516  }
void matchFirst(const KeyT &value) const
call backs. Action when we match key of pair
Definition: Grammars.h:494
void matchSecond(const ValueT &value) const
call backs. Action when we match value pf pair
Definition: Grammars.h:496
void matchItem() const
call backs. Action when we match pair in map
Definition: Grammars.h:488

Member Function Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
rule<ScannerT> const& Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::start ( ) const
inline

Definition at line 519 of file Grammars.h.

519 { return vec; }
template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
rule<ScannerT> const& Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::start ( ) const
inline

Definition at line 519 of file Grammars.h.

519 { return vec; }

Member Data Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
KeyGrammarT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::grKey

Definition at line 517 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
ValueGrammarT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::grValue

Definition at line 518 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
rule< ScannerT > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::inner

Definition at line 520 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
rule< ScannerT > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::inner_list

Definition at line 520 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
template<typename ScannerT >
rule< ScannerT > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::definition< ScannerT >::vec

Definition at line 520 of file Grammars.h.


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