The Gaudi Framework  v30r4 (9b837755)
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 359 of file Grammars.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 362 of file Grammars.h.

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

Definition at line 363 of file Grammars.h.

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

Definition at line 364 of file Grammars.h.

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

Definition at line 361 of file Grammars.h.

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

Definition at line 366 of file Grammars.h.

Constructor & Destructor Documentation

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

Definition at line 385 of file Grammars.h.

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

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

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

Definition at line 396 of file Grammars.h.

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

Definition at line 397 of file Grammars.h.

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

Definition at line 398 of file Grammars.h.

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

Definition at line 395 of file Grammars.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 394 of file Grammars.h.


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