The Gaudi Framework  master (37c0b60a)
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 362 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 365 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 366 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 367 of file Grammars.h.

◆ ResultT

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

Definition at line 364 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 369 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 383 of file Grammars.h.

383  : MapGrammar::base_type( map ) {
384  pair = key[op( qi::_val, qi::_1, tag_key() )] > ( qi::lit( ':' ) | '=' ) >
385  value[op( qi::_val, qi::_1, tag_mapped() )];
386  list = -( pair % enc::char_( ',' ) );
387  map = ( ( '[' >> list >> ']' ) | ( '{' >> list >> '}' ) | ( '[' >> list >> ',' >> ']' ) |
388  ( '{' >> list >> ',' >> '}' ) )[op( qi::_val, qi::_1 )];
389  }

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 391 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 394 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 395 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 396 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 393 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 392 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:394
Gaudi::Parsers::MapGrammar::map
qi::rule< Iterator, ResultT(), Skipper > map
Definition: Grammars.h:395
Gaudi::Parsers::MapGrammar::pair
qi::rule< Iterator, PairT(), Skipper > pair
Definition: Grammars.h:393
Gaudi::Parsers::MapGrammar::key
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: Grammars.h:391
Gaudi::Parsers::MapGrammar::value
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: Grammars.h:392
Gaudi::Parsers::MapGrammar::op
ph::function< Operations > op
Definition: Grammars.h:396