The Gaudi Framework  v32r2 (46d42edc)
Gaudi::Parsers::MapGrammar< Iterator, MapT, Skipper > Struct Template Reference

#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 340 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 343 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 344 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 345 of file Grammars.h.

◆ ResultT

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

Definition at line 342 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 347 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 361 of file Grammars.h.

361  : MapGrammar::base_type( map ) {
362  pair = key[op( qi::_val, qi::_1, tag_key() )] > ( qi::lit( ':' ) | '=' ) >
363  value[op( qi::_val, qi::_1, tag_mapped() )];
364  list = -( pair % enc::char_( ',' ) );
365  map = ( ( '[' >> list >> ']' ) | ( '{' >> list >> '}' ) )[op( qi::_val, qi::_1 )];
366  }
qi::rule< Iterator, VectorPairT(), Skipper > list
Definition: Grammars.h:371
qi::rule< Iterator, ResultT(), Skipper > map
Definition: Grammars.h:372
qi::rule< Iterator, PairT(), Skipper > pair
Definition: Grammars.h:370
Grammar_< Iterator, typename MapT::key_type, Skipper >::Grammar key
Definition: Grammars.h:368
ph::function< Operations > op
Definition: Grammars.h:373
Grammar_< Iterator, typename MapT::mapped_type, Skipper >::Grammar value
Definition: Grammars.h:369

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 368 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 371 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 372 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 373 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 370 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 369 of file Grammars.h.


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