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

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Parsers/Grammars.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 317 of file Grammars.h.

Member Typedef Documentation

◆ KeyT

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

Definition at line 319 of file Grammars.h.

◆ MappedT

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

Definition at line 320 of file Grammars.h.

◆ PairT

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

Definition at line 321 of file Grammars.h.

◆ ResultT

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

Definition at line 318 of file Grammars.h.

◆ VectorPairT

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

Definition at line 323 of file Grammars.h.

Constructor & Destructor Documentation

◆ MapGrammar()

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

Definition at line 335 of file Grammars.h.

335  : MapGrammar::base_type( map ) {
336  pair = key[op( qi::_val, qi::_1, tag_key() )] > ( qi::lit( ':' ) | '=' ) >
337  value[op( qi::_val, qi::_1, tag_mapped() )];
338  list = -( pair % enc::char_( ',' ) );
339  map = ( ( '[' >> list >> ']' ) | ( '{' >> list >> '}' ) | ( '[' >> list >> ',' >> ']' ) |
340  ( '{' >> list >> ',' >> '}' ) )[op( qi::_val, qi::_1 )];
341  }

Member Data Documentation

◆ key

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 343 of file Grammars.h.

◆ list

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

Definition at line 346 of file Grammars.h.

◆ map

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

Definition at line 347 of file Grammars.h.

◆ op

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

Definition at line 348 of file Grammars.h.

◆ pair

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

Definition at line 345 of file Grammars.h.

◆ value

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 344 of file Grammars.h.


The documentation for this struct was generated from the following file:
Gaudi::Parsers::MapGrammar::list
qi::rule< Iterator, VectorPairT(), Skipper > list
Definition: Grammars.h:346
Gaudi::Parsers::MapGrammar::map
qi::rule< Iterator, ResultT(), Skipper > map
Definition: Grammars.h:347
Gaudi::Parsers::MapGrammar::pair
qi::rule< Iterator, PairT(), Skipper > pair
Definition: Grammars.h:345
Gaudi::Parsers::MapGrammar::key
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: Grammars.h:343
Gaudi::Parsers::MapGrammar::value
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: Grammars.h:344
Gaudi::Parsers::MapGrammar::op
ph::function< Operations > op
Definition: Grammars.h:348