fipa_acl  1.4
Public Member Functions | Public Attributes | List of all members
acl::grammar::StringLiteral< Iterator > Struct Template Reference

#include <grammar_common.h>

Inherits grammar< Iterator, fipa::acl::ByteSequence(), qi::locals< std::string > >.

Public Member Functions

 StringLiteral ()
 

Public Attributes

qi::rule< Iterator,
fipa::acl::ByteSequence(),
qi::locals< std::string > > 
string_literal_rule
 

Detailed Description

template<typename Iterator>
struct acl::grammar::StringLiteral< Iterator >

Definition at line 639 of file grammar_common.h.

Constructor & Destructor Documentation

template<typename Iterator >
acl::grammar::StringLiteral< Iterator >::StringLiteral ( )
inline

Definition at line 641 of file grammar_common.h.

641  : StringLiteral::base_type(string_literal_rule, "StringLiteral-bitefficient_grammar")
642  {
643  using qi::byte_;
644  using encoding::char_;
645  using encoding::digit;
646 
647  // Order of statement is relevant here, since the character \ needs to be matched
648  // first -- matching is greedy with char_ otherwise
649  string_literal_rule = ( char_('"')
650  >> * (( char_("\\") >> char_('"') ) [ label::_a += "\"" ]
651  | (byte_ - char_('"') ) [ label::_a += label::_1 ]
652  )
653  >> char_('"')
654  ) [ phoenix::at_c<2>(label::_val) = label::_a ]
655  ;
656 
658  }
#define FIPA_DEBUG_RULE(X)
qi::rule< Iterator, fipa::acl::ByteSequence(), qi::locals< std::string > > string_literal_rule

Member Data Documentation

template<typename Iterator >
qi::rule<Iterator, fipa::acl::ByteSequence(), qi::locals<std::string> > acl::grammar::StringLiteral< Iterator >::string_literal_rule

Definition at line 660 of file grammar_common.h.


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