Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper > Struct Template Reference

#include <GaudiKernel/GrammarsV2.h>

Inheritance diagram for Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >:
Collaboration diagram for Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >:

Classes

struct  first
 
struct  second
 

Public Types

typedef PairT ResultT
 
typedef PairT::first_type first_type
 
typedef PairT::second_type second_type
 

Public Member Functions

 PairGrammar ()
 
 PairGrammar (const std::string &delimeter)
 
void init (const std::string &delimeter)
 

Public Attributes

Grammar_< Iterator, typename PairT::first_type, Skipper >::Grammar key
 
Grammar_< Iterator, typename PairT::second_type, Skipper >::Grammar value
 
qi::rule< Iterator, char()> begin
 
qi::rule< Iterator, void(char)> end
 
qi::rule< Iterator, ResultT(), qi::locals< char >, Skipperpair
 
qi::rule< Iterator, ResultT(), Skipperpair_in
 

Detailed Description

template<typename Iterator, typename PairT, typename Skipper>
struct Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >

Definition at line 365 of file GrammarsV2.h.

Member Typedef Documentation

template<typename Iterator , typename PairT , typename Skipper >
typedef PairT::first_type Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::first_type

Definition at line 369 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
typedef PairT Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::ResultT

Definition at line 368 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
typedef PairT::second_type Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::second_type

Definition at line 370 of file GrammarsV2.h.

Constructor & Destructor Documentation

template<typename Iterator , typename PairT , typename Skipper >
Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::PairGrammar ( )
inline

Definition at line 372 of file GrammarsV2.h.

372  : PairGrammar::base_type(pair) {
373  init(",");
374  }
void init(const std::string &delimeter)
Definition: GrammarsV2.h:382
qi::rule< Iterator, ResultT(), qi::locals< char >, Skipper > pair
Definition: GrammarsV2.h:398
template<typename Iterator , typename PairT , typename Skipper >
Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::PairGrammar ( const std::string delimeter)
inline

Definition at line 376 of file GrammarsV2.h.

376  : PairGrammar::base_type(pair) {
377  init(delimeter);
378  }
void init(const std::string &delimeter)
Definition: GrammarsV2.h:382
qi::rule< Iterator, ResultT(), qi::locals< char >, Skipper > pair
Definition: GrammarsV2.h:398

Member Function Documentation

template<typename Iterator , typename PairT , typename Skipper >
void Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::init ( const std::string delimeter)
inline

Definition at line 382 of file GrammarsV2.h.

382  {
383  begin = enc::char_('(')[qi::_val=')']
384  |
385  enc::char_('[')[qi::_val=']'];
386  end = qi::char_(qi::_r1);
387  pair = begin[qi::_a = qi::_1] >> pair_in[qi::_val = qi::_1] >> end(qi::_a);
388  pair_in = key >> qi::lit(delimeter) >> value;
389  }
qi::rule< Iterator, char()> begin
Definition: GrammarsV2.h:396
Grammar_< Iterator, typename PairT::first_type, Skipper >::Grammar key
Definition: GrammarsV2.h:392
qi::rule< Iterator, ResultT(), qi::locals< char >, Skipper > pair
Definition: GrammarsV2.h:398
Grammar_< Iterator, typename PairT::second_type, Skipper >::Grammar value
Definition: GrammarsV2.h:395
qi::rule< Iterator, ResultT(), Skipper > pair_in
Definition: GrammarsV2.h:399
qi::rule< Iterator, void(char)> end
Definition: GrammarsV2.h:397

Member Data Documentation

template<typename Iterator , typename PairT , typename Skipper >
qi::rule<Iterator, char()> Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::begin

Definition at line 396 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
qi::rule<Iterator, void(char)> Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::end

Definition at line 397 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
Grammar_<Iterator, typename PairT::first_type, Skipper>::Grammar Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::key

Definition at line 392 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
qi::rule<Iterator, ResultT(), qi::locals<char>, Skipper> Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::pair

Definition at line 398 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
qi::rule<Iterator, ResultT(), Skipper> Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::pair_in

Definition at line 399 of file GrammarsV2.h.

template<typename Iterator , typename PairT , typename Skipper >
Grammar_<Iterator, typename PairT::second_type, Skipper>::Grammar Gaudi::Parsers::PairGrammar< Iterator, PairT, Skipper >::value

Definition at line 395 of file GrammarsV2.h.


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