Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT > Class Template Reference

The valid represenation of map are: More...

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

Inheritance diagram for Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >:
Collaboration diagram for Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >:

Classes

struct  definition
 
struct  Operations
 
struct  tag_key
 
struct  tag_mapped
 

Public Types

typedef KeyGrammarT::ResultT KeyT
 
typedef ValueGrammarT::ResultT ValueT
 
typedef std::map< KeyT, ValueTResultT
 
typedef MapT ResultT
 
typedef MapT::key_type KeyT
 
typedef MapT::mapped_type MappedT
 
typedef std::pair< KeyT, MappedTPairT
 
typedef std::vector< PairTVectorPairT
 
typedef KeyGrammarT::ResultT KeyT
 
typedef ValueGrammarT::ResultT ValueT
 
typedef std::map< KeyT, ValueTResultT
 
typedef MapT ResultT
 
typedef MapT::key_type KeyT
 
typedef MapT::mapped_type MappedT
 
typedef std::pair< KeyT, MappedTPairT
 
typedef std::vector< PairTVectorPairT
 

Public Member Functions

void matchItem () const
 call backs. Action when we match pair in map More...
 
void matchFirst (const KeyT &value) const
 call backs. Action when we match key of pair More...
 
void matchSecond (const ValueT &value) const
 call backs. Action when we match value pf pair More...
 
 MapGrammar ()
 
void matchItem () const
 call backs. Action when we match pair in map More...
 
void matchFirst (const KeyT &value) const
 call backs. Action when we match key of pair More...
 
void matchSecond (const ValueT &value) const
 call backs. Action when we match value pf pair More...
 
 MapGrammar ()
 

Public Attributes

Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
 
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
 
qi::rule< Iterator, PairT(), Skipperpair
 
qi::rule< Iterator, VectorPairT(), Skipperlist
 
qi::rule< Iterator, ResultT(), Skippermap
 
ph::function< Operationsop
 

Detailed Description

template<typename KeyGrammarT, typename ValueGrammarT>
class Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >

The valid represenation of map are:

  • {"file1":"path1","something":"nothing"}
  • {"file1"="path1","something"="nothing"}
  • ["file1":10,"something":20]
  • ["file1"=30,"something"=40] Inner key type depends on KeyGrammarT grammar Inner value type depends on ValueGrammarT 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 472 of file Grammars.h.

Member Typedef Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::key_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 418 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::key_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 418 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef KeyGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 483 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef KeyGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::KeyT

Definition at line 483 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::mapped_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MappedT

Definition at line 419 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT::mapped_type Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MappedT

Definition at line 419 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::pair<KeyT, MappedT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::PairT

Definition at line 420 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::pair<KeyT, MappedT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::PairT

Definition at line 420 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 417 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef MapT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 417 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::map<KeyT,ValueT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 485 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::map<KeyT,ValueT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ResultT

Definition at line 485 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef ValueGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ValueT

Definition at line 484 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef ValueGrammarT::ResultT Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::ValueT

Definition at line 484 of file Grammars.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::vector<PairT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::VectorPairT

Definition at line 422 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
typedef std::vector<PairT> Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::VectorPairT

Definition at line 422 of file GrammarsV2.h.

Constructor & Destructor Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MapGrammar ( )
inline

Definition at line 448 of file GrammarsV2.h.

448  : MapGrammar::base_type(map) {
449  pair = key[op(qi::_val,qi::_1, tag_key())] > (qi::lit(':') | '=') >
450  value[op(qi::_val,qi::_1, tag_mapped())];
451  list = -(pair % enc::char_(','));
452  map = (('[' >> list >> ']')
453  | ('{' >> list >> '}'))[op(qi::_val,qi::_1)];
454  }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459
qi::rule< Iterator, ResultT(), Skipper > map
Definition: GrammarsV2.h:462
qi::rule< Iterator, PairT(), Skipper > pair
Definition: GrammarsV2.h:460
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: GrammarsV2.h:457
qi::rule< Iterator, VectorPairT(), Skipper > list
Definition: GrammarsV2.h:461
ph::function< Operations > op
Definition: GrammarsV2.h:463
template<typename KeyGrammarT , typename ValueGrammarT >
Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::MapGrammar ( )
inline

Definition at line 448 of file GrammarsV2.h.

448  : MapGrammar::base_type(map) {
449  pair = key[op(qi::_val,qi::_1, tag_key())] > (qi::lit(':') | '=') >
450  value[op(qi::_val,qi::_1, tag_mapped())];
451  list = -(pair % enc::char_(','));
452  map = (('[' >> list >> ']')
453  | ('{' >> list >> '}'))[op(qi::_val,qi::_1)];
454  }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459
qi::rule< Iterator, ResultT(), Skipper > map
Definition: GrammarsV2.h:462
qi::rule< Iterator, PairT(), Skipper > pair
Definition: GrammarsV2.h:460
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: GrammarsV2.h:457
qi::rule< Iterator, VectorPairT(), Skipper > list
Definition: GrammarsV2.h:461
ph::function< Operations > op
Definition: GrammarsV2.h:463

Member Function Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchFirst ( const KeyT value) const
inline

call backs. Action when we match key of pair

Definition at line 494 of file Grammars.h.

494 { this->attrs().first = value ; }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchFirst ( const KeyT value) const
inline

call backs. Action when we match key of pair

Definition at line 494 of file Grammars.h.

494 { this->attrs().first = value ; }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchItem ( ) const
inline

call backs. Action when we match pair in map

Definition at line 488 of file Grammars.h.

489  {
490  //this->val().insert(this->attrs());
491  this->val()[this->attrs().first] = this->attrs().second ;
492  }
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchItem ( ) const
inline

call backs. Action when we match pair in map

Definition at line 488 of file Grammars.h.

489  {
490  //this->val().insert(this->attrs());
491  this->val()[this->attrs().first] = this->attrs().second ;
492  }
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchSecond ( const ValueT value) const
inline

call backs. Action when we match value pf pair

Definition at line 496 of file Grammars.h.

496 { this->attrs().second = value ; }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459
template<typename KeyGrammarT , typename ValueGrammarT >
void Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::matchSecond ( const ValueT value) const
inline

call backs. Action when we match value pf pair

Definition at line 496 of file Grammars.h.

496 { this->attrs().second = value ; }
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:459

Member Data Documentation

template<typename KeyGrammarT , typename ValueGrammarT >
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::key

Definition at line 457 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule< Iterator, VectorPairT(), Skipper > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::list

Definition at line 461 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule< Iterator, ResultT(), Skipper > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::map

Definition at line 462 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
ph::function< Operations > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::op

Definition at line 463 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
qi::rule< Iterator, PairT(), Skipper > Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::pair

Definition at line 460 of file GrammarsV2.h.

template<typename KeyGrammarT , typename ValueGrammarT >
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar Gaudi::Parsers::MapGrammar< KeyGrammarT, ValueGrammarT >::value

Definition at line 459 of file GrammarsV2.h.


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