The Gaudi Framework  master (e68eea06)
Loading...
Searching...
No Matches
Gaudi::Parsers::StringGrammar< It, Skipper > Struct Template Reference

#include </builds/gaudi/Gaudi/GaudiCoreSvc/src/JobOptionsSvc/Grammar.h>

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

Public Types

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
 
qi::rule< It, std::string()> dq_body
 
qi::rule< It, std::string()> sq_body
 
qi::rule< It, std::string(), Skipperstr
 

Detailed Description

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

Definition at line 81 of file Grammars.h.

Member Typedef Documentation

◆ ResultT

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

Definition at line 46 of file Grammar.h.

Constructor & Destructor Documentation

◆ StringGrammar() [1/2]

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

Definition at line 47 of file Grammar.h.

48 begin_quote = enc::char_( "\"'" );
50
52 *( ( enc::char_( '\\' ) >> quote( qi::_a ) )[qi::_val += qi::_a] |
53 ( enc::char_[qi::_val += qi::_1] - quote( qi::_a ) ) ) >>
54 quote( qi::_a )];
55 }
qi::rule< Iterator, char()> begin_quote
Definition Grammar.h:57
qi::rule< Iterator, std::string(), qi::locals< char >, Skipper > str
Definition Grammar.h:56
qi::rule< Iterator, void(char)> quote
Definition Grammar.h:58

◆ StringGrammar() [2/2]

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

Definition at line 84 of file Grammars.h.

85 dq_body = qi::eps[qi::_val = std::string{}] >> *( ( qi::lit( '\\' ) >> qi::char_( '"' ) )[qi::_val += '"'] |
86 ( qi::lit( '\\' ) >> qi::char_( '\\' ) )[qi::_val += '\\'] |
87 ( qi::char_ - qi::char_( '"' ) )[qi::_val += qi::_1] );
88 sq_body = qi::eps[qi::_val = std::string{}] >> *( ( qi::lit( '\\' ) >> qi::char_( '\'' ) )[qi::_val += '\''] |
89 ( qi::lit( '\\' ) >> qi::char_( '\\' ) )[qi::_val += '\\'] |
90 ( qi::char_ - qi::char_( '\'' ) )[qi::_val += qi::_1] );
91 str = qi::lexeme[rep::confix( '"', '"' )[dq_body] | rep::confix( '\'', '\'' )[sq_body]];
92 }
qi::rule< It, std::string()> dq_body
Definition Grammars.h:82
qi::rule< It, std::string()> sq_body
Definition Grammars.h:82

Member Data Documentation

◆ begin_quote

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

Definition at line 57 of file Grammar.h.

◆ dq_body

template<typename It, typename Skipper>
qi::rule<It, std::string()> Gaudi::Parsers::StringGrammar< It, Skipper >::dq_body

Definition at line 82 of file Grammars.h.

◆ quote

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

Definition at line 58 of file Grammar.h.

◆ sq_body

template<typename It, typename Skipper>
qi::rule<It, std::string()> Gaudi::Parsers::StringGrammar< It, Skipper >::sq_body

Definition at line 82 of file Grammars.h.

◆ str [1/2]

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

Definition at line 56 of file Grammar.h.

◆ str [2/2]

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

Definition at line 83 of file Grammars.h.


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