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

#include <grammar_string_message.h>

Inherits grammar< Iterator, std::string() >.

Public Member Functions

 Number ()
 

Public Attributes

qi::rule< Iterator, std::string()> integer_number
 
qi::rule< Iterator, std::string()> float_number
 
qi::rule< Iterator, std::string()> sign
 
qi::rule< Iterator, char()> digit
 
qi::rule< Iterator, std::string()> float_mantissa
 
qi::rule< Iterator, std::string()> float_exponent
 
qi::rule< Iterator, std::string()> exponent
 
qi::rule< Iterator, std::string()> number
 

Detailed Description

template<typename Iterator>
struct fipa::acl::grammar::string::Number< Iterator >

Definition at line 112 of file grammar_string_message.h.

Constructor & Destructor Documentation

template<typename Iterator>
fipa::acl::grammar::string::Number< Iterator >::Number ( )
inline

Definition at line 114 of file grammar_string_message.h.

114  : Number::base_type(number, "number-string_grammar")
115  {
116  using encoding::char_;
117 
118  number = float_number [ label::_val = label::_1 ]
119  | integer_number [ label::_val = label::_1 ]
120  ;
121 
122  integer_number = - sign [ label::_val = label::_1 ]
123  >> +digit [ label::_val += label::_1 ]
124  ;
125 
126  sign = encoding::string("+")
127  | encoding::string("-");
128 
129  digit = char_('0','9');
130 
131  float_number = (-sign [ label::_val = label::_1 ]
132  >> float_mantissa [ label::_val += label::_1 ]
133  >> - float_exponent [ label::_val += label::_1 ]
134  )
135  | ( -sign [ label::_val = label::_1 ]
136  >> +digit [ label::_val += label::_1 ]
137  >> float_exponent [ label::_val += label::_1 ]
138  );
139 
140  float_mantissa = ( +digit [ label::_val = label::_1 ]
141  >> char_('.') [ label::_val += label::_1 ]
142  >> *digit [ label::_val += label::_1 ]
143  )
144  | ( *digit [ label::_val = label::_1 ]
145  >> char_('.') [ label::_val += label::_1 ]
146  >> +digit [ label::_val += label::_1 ]
147  );
148 
149  float_exponent = exponent [ label::_val = label::_1 ]
150  >> - sign [ label::_val += label::_1 ]
151  >> +digit [ label::_val += label::_1 ]
152  ;
153 
154  exponent = encoding::string("e")
155  | encoding::string("E");
156 
159  }
qi::rule< Iterator, std::string()> sign
qi::rule< Iterator, std::string()> integer_number
qi::rule< Iterator, std::string()> float_number
qi::rule< Iterator, std::string()> float_exponent
qi::rule< Iterator, std::string()> exponent
qi::rule< Iterator, std::string()> float_mantissa
qi::rule< Iterator, std::string()> number
#define FIPA_DEBUG_RULE(X)

Member Data Documentation

template<typename Iterator>
qi::rule<Iterator, char()> fipa::acl::grammar::string::Number< Iterator >::digit

Definition at line 165 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::exponent

Definition at line 168 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::float_exponent

Definition at line 167 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::float_mantissa

Definition at line 166 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::float_number

Definition at line 162 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::integer_number

Definition at line 161 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::number

Definition at line 170 of file grammar_string_message.h.

template<typename Iterator>
qi::rule<Iterator, std::string()> fipa::acl::grammar::string::Number< Iterator >::sign

Definition at line 164 of file grammar_string_message.h.


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