The Gaudi Framework  v30r3 (a5ef0a68)
Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper > Struct Template Reference

#include <GaudiKernel/GrammarsV2.h>

Inheritance diagram for Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >:
Collaboration diagram for Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >:

Classes

struct  Operations
 
struct  tag_key
 
struct  tag_mapped
 

Public Types

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

 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 Iterator, typename MapT, typename Skipper>
struct Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >

Definition at line 360 of file GrammarsV2.h.

Member Typedef Documentation

template<typename Iterator , typename MapT , typename Skipper >
typedef MapT::key_type Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::KeyT

Definition at line 363 of file GrammarsV2.h.

template<typename Iterator , typename MapT , typename Skipper >
typedef MapT::mapped_type Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::MappedT

Definition at line 364 of file GrammarsV2.h.

template<typename Iterator , typename MapT , typename Skipper >
typedef std::pair<KeyT, MappedT> Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::PairT

Definition at line 365 of file GrammarsV2.h.

template<typename Iterator , typename MapT , typename Skipper >
typedef MapT Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::ResultT

Definition at line 362 of file GrammarsV2.h.

template<typename Iterator , typename MapT , typename Skipper >
typedef std::vector<PairT> Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::VectorPairT

Definition at line 367 of file GrammarsV2.h.

Constructor & Destructor Documentation

template<typename Iterator , typename MapT , typename Skipper >
Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::MapGrammar ( )
inline

Definition at line 386 of file GrammarsV2.h.

386  : MapGrammar::base_type( map )
387  {
388  pair = key[op( qi::_val, qi::_1, tag_key() )] > ( qi::lit( ':' ) | '=' ) >
389  value[op( qi::_val, qi::_1, tag_mapped() )];
390  list = -( pair % enc::char_( ',' ) );
391  map = ( ( '[' >> list >> ']' ) | ( '{' >> list >> '}' ) )[op( qi::_val, qi::_1 )];
392  }
qi::rule< Iterator, VectorPairT(), Skipper > list
Definition: GrammarsV2.h:397
qi::rule< Iterator, ResultT(), Skipper > map
Definition: GrammarsV2.h:398
qi::rule< Iterator, PairT(), Skipper > pair
Definition: GrammarsV2.h:396
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: GrammarsV2.h:394
ph::function< Operations > op
Definition: GrammarsV2.h:399
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: GrammarsV2.h:395

Member Data Documentation

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

Definition at line 394 of file GrammarsV2.h.

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

Definition at line 397 of file GrammarsV2.h.

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

Definition at line 398 of file GrammarsV2.h.

template<typename Iterator , typename MapT , typename Skipper >
ph::function<Operations> Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper >::op

Definition at line 399 of file GrammarsV2.h.

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

Definition at line 396 of file GrammarsV2.h.

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

Definition at line 395 of file GrammarsV2.h.


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