The Gaudi Framework  master (37c0b60a)
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 60 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 62 of file Grammar.h.

◆ ResultT [2/2]

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

Definition at line 96 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 64 of file Grammar.h.

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

◆ StringGrammar() [2/2]

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

Definition at line 98 of file Grammars.h.

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

Member Data Documentation

◆ begin_quote

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

Definition at line 75 of file Grammar.h.

◆ quote

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

Definition at line 76 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 74 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:75
Gaudi::Parsers::StringGrammar::quote
qi::rule< Iterator, void(char)> quote
Definition: Grammar.h:76
Gaudi::Parsers::StringGrammar::str
qi::rule< Iterator, std::string(), qi::locals< char >, Skipper > str
Definition: Grammar.h:74