Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper > Struct Template Reference

#include <src/JobOptionsSvc/Grammar.h>

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

Public Types

typedef std::string ResultT
 

Public Member Functions

 IdentifierGrammar ()
 

Public Attributes

qi::rule< Iterator, Node(), Skipperident
 
qi::rule< Iterator, std::string(), Skipperstr
 
qi::rule< Iterator, std::string()> inner
 
ph::function< NodeOperationsop
 

Detailed Description

template<typename Iterator, typename Skipper>
struct Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >

Definition at line 77 of file Grammar.h.

Member Typedef Documentation

template<typename Iterator, typename Skipper>
typedef std::string Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >::ResultT

Definition at line 79 of file Grammar.h.

Constructor & Destructor Documentation

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

Definition at line 81 of file Grammar.h.

81  : IdentifierGrammar::base_type(ident) {
82  ident = rep::qi::iter_pos[op(qi::_val, qi::_1)] >> str[op(qi::_val, qi::_1)][op(qi::_val, Node::kIdentifier)];
83  str = -qi::lit("::")[qi::_val += "::"] >> inner[qi::_val += qi::_1]
84  >> *(qi::lit("::") >> inner[qi::_val += ("::"+qi::_1)]);
85  inner = qi::alpha >> *(qi::alnum | qi::char_('_'));
86  }
qi::rule< Iterator, std::string(), Skipper > str
Definition: Grammar.h:89
ph::function< NodeOperations > op
Definition: Grammar.h:91
qi::rule< Iterator, Node(), Skipper > ident
Definition: Grammar.h:88
qi::rule< Iterator, std::string()> inner
Definition: Grammar.h:90

Member Data Documentation

template<typename Iterator, typename Skipper>
qi::rule<Iterator, Node(), Skipper> Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >::ident

Definition at line 88 of file Grammar.h.

template<typename Iterator, typename Skipper>
qi::rule<Iterator, std::string()> Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >::inner

Definition at line 90 of file Grammar.h.

template<typename Iterator, typename Skipper>
ph::function<NodeOperations> Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >::op

Definition at line 91 of file Grammar.h.

template<typename Iterator, typename Skipper>
qi::rule<Iterator, std::string(), Skipper> Gaudi::Parsers::IdentifierGrammar< Iterator, Skipper >::str

Definition at line 89 of file Grammar.h.


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