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

#include </builds/gaudi/Gaudi/GaudiCoreSvc/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 62 of file Grammar.h.

Member Typedef Documentation

◆ ResultT [1/2]

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

Definition at line 64 of file Grammar.h.

◆ ResultT [2/2]

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

Definition at line 100 of file Grammars.h.

Constructor & Destructor Documentation

◆ StringGrammar() [1/2]

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

Definition at line 66 of file Grammar.h.

66  : StringGrammar::base_type( str ) {
67  begin_quote = enc::char_( "\"'" );
68  quote = enc::char_( qi::_r1 );
69 
70  str = qi::lexeme[begin_quote[qi::_a = qi::_1] >>
71  *( ( enc::char_( '\\' ) >> quote( qi::_a ) )[qi::_val += qi::_a] |
72  ( enc::char_[qi::_val += qi::_1] - quote( qi::_a ) ) ) >>
73  quote( qi::_a )];
74  }

◆ StringGrammar() [2/2]

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

Definition at line 102 of file Grammars.h.

102  : StringGrammar::base_type( str ) {
103  begin_quote = enc::char_( "\"'" );
104  quote = enc::char_( qi::_r1 );
105 
106  str = qi::lexeme[begin_quote[qi::_a = qi::_1] >
107  *( ( enc::char_( '\\' ) >> quote( qi::_a ) )[qi::_val += qi::_a] |
108  ( enc::char_( '\\' ) >> enc::char_( '\\' ) )[qi::_val += '\\'] |
109  ( enc::char_[qi::_val += qi::_1] - quote( qi::_a ) ) ) > quote( qi::_a )];
110  }

Member Data Documentation

◆ begin_quote

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

Definition at line 77 of file Grammar.h.

◆ quote

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

Definition at line 78 of file Grammar.h.

◆ str

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

Definition at line 76 of file Grammar.h.


The documentation for this struct was generated from the following files:
Gaudi::Parsers::StringGrammar::begin_quote
qi::rule< Iterator, char()> begin_quote
Definition: Grammar.h:77
Gaudi::Parsers::StringGrammar::quote
qi::rule< Iterator, void(char)> quote
Definition: Grammar.h:78
Gaudi::Parsers::StringGrammar::str
qi::rule< Iterator, std::string(), qi::locals< char >, Skipper > str
Definition: Grammar.h:76