Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Gaudi::Parsers::StringGrammar< Iterator, Skipper > Struct Template Reference

#include <src/JobOptionsSvc/Grammar.h>

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

Public Types

typedef std::string ResultT
 
typedef std::string ResultT
 

Public Member Functions

 StringGrammar ()
 
 StringGrammar ()
 

Public Attributes

qi::rule< Iterator, std::string(), qi::locals< char >, Skipperstr
 
qi::rule< Iterator, char()> begin_quote
 
qi::rule< Iterator, void(char)> quote
 

Detailed Description

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

Definition at line 50 of file Grammar.h.

Member Typedef Documentation

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

Definition at line 52 of file Grammar.h.

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

Definition at line 88 of file Grammars.h.

Constructor & Destructor Documentation

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

Definition at line 54 of file Grammar.h.

54  : StringGrammar::base_type( str ) {
55  begin_quote = enc::char_( "\"'" );
56  quote = enc::char_( qi::_r1 );
57 
58  str = qi::lexeme[begin_quote[qi::_a = qi::_1] >>
59  *( ( enc::char_( '\\' ) >> quote( qi::_a ) )[qi::_val += qi::_a] |
60  ( enc::char_[qi::_val += qi::_1] - quote( qi::_a ) ) ) >>
61  quote( qi::_a )];
62  }
qi::rule< Iterator, void(char)> quote
Definition: Grammar.h:66
qi::rule< Iterator, std::string(), qi::locals< char >, Skipper > str
Definition: Grammar.h:64
qi::rule< Iterator, char()> begin_quote
Definition: Grammar.h:65
template<typename Iterator, typename Skipper>
Gaudi::Parsers::StringGrammar< Iterator, Skipper >::StringGrammar ( )
inline

Definition at line 90 of file Grammars.h.

90  : StringGrammar::base_type( str ) {
91  begin_quote = enc::char_( "\"'" );
92  quote = enc::char_( qi::_r1 );
93 
94  str = qi::lexeme[begin_quote[qi::_a = qi::_1] >
95  *( ( enc::char_( '\\' ) >> quote( qi::_a ) )[qi::_val += qi::_a] |
96  ( enc::char_[qi::_val += qi::_1] - quote( qi::_a ) ) ) > quote( qi::_a )];
97  }
qi::rule< Iterator, void(char)> quote
Definition: Grammar.h:66
qi::rule< Iterator, std::string(), qi::locals< char >, Skipper > str
Definition: Grammar.h:64
qi::rule< Iterator, char()> begin_quote
Definition: Grammar.h:65

Member Data Documentation

template<typename Iterator, typename Skipper>
qi::rule< Iterator, char()> Gaudi::Parsers::StringGrammar< Iterator, Skipper >::begin_quote

Definition at line 65 of file Grammar.h.

template<typename Iterator, typename Skipper>
qi::rule< Iterator, void(char)> Gaudi::Parsers::StringGrammar< Iterator, Skipper >::quote

Definition at line 66 of file Grammar.h.

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

Definition at line 64 of file Grammar.h.


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