fipa_acl  1.4
Public Member Functions | Public Attributes | List of all members
BinStringNoCodetable< Iterator > Struct Template Reference

#include <grammar_bitefficient.h>

Inherits grammar< Iterator, fipa::acl::ByteSequence(), qi::locals< boost::uint_least32_t > >.

Public Member Functions

 BinStringNoCodetable ()
 

Public Attributes

qi::rule< Iterator,
fipa::acl::ByteSequence(),
qi::locals
< boost::uint_least32_t > > 
bin_string_no_codetable_rule
 
Len8< Iterator > len8
 
Len16< Iterator > len16
 
Len32< Iterator > len32
 
qi::rule< Iterator,
std::vector< unsigned char >
boost::uint_least32_t) > 
byteSeq
 
NullTerminatedString< Iterator > nullTerminatedString
 

Detailed Description

template<typename Iterator>
struct BinStringNoCodetable< Iterator >

Definition at line 77 of file grammar_bitefficient.h.

Constructor & Destructor Documentation

template<typename Iterator >
BinStringNoCodetable< Iterator >::BinStringNoCodetable ( )
inline

Definition at line 79 of file grammar_bitefficient.h.

79  : BinStringNoCodetable::base_type(bin_string_no_codetable_rule, "BinStringNoCodetable-bitefficient_grammar")
80  {
81  using namespace qi;
82 
83  bin_string_no_codetable_rule = ( byte_(0x14) >> nullTerminatedString [ label::_val = label::_1 ])
84  // The byte length will be stored in the rule local variable (label::_a) and then forwarded to the qi::repeat instruction
85  | ( byte_(0x16) >> len8 [ label::_a = label::_1 ]
86  >> byteSeq(label::_a) [ phoenix::at_c<2>(label::_val) = label::_1] ) // new byteLengthEncoded string
87  | ( byte_(0x17) >> len16 [ label::_a = label::_1 ]
88  >> byteSeq(label::_a) [ phoenix::at_c<2>(label::_val) = label::_1 ] )
89  | ( byte_(0x19) >> len32 [ label::_a = label::_1 ]
90  >> byteSeq(label::_a) [ phoenix::at_c<2>(label::_val) = label::_1 ] )
91  ;
92 
93  byteSeq = qi::repeat(label::_r1)[byte_] [ label::_val = convertToCharVector(label::_1) ]
94  ;
96  }
qi::rule< Iterator, std::vector< unsigned char >boost::uint_least32_t) > byteSeq
NullTerminatedString< Iterator > nullTerminatedString
phoenix::function< convertToCharVectorImpl > convertToCharVector
qi::rule< Iterator, fipa::acl::ByteSequence(), qi::locals< boost::uint_least32_t > > bin_string_no_codetable_rule
#define FIPA_DEBUG_RULE(X)

Member Data Documentation

template<typename Iterator >
qi::rule<Iterator, fipa::acl::ByteSequence(), qi::locals<boost::uint_least32_t> > BinStringNoCodetable< Iterator >::bin_string_no_codetable_rule

Definition at line 98 of file grammar_bitefficient.h.

template<typename Iterator >
qi::rule<Iterator, std::vector<unsigned char>boost::uint_least32_t) > BinStringNoCodetable< Iterator >::byteSeq

Definition at line 102 of file grammar_bitefficient.h.

template<typename Iterator >
Len16<Iterator> BinStringNoCodetable< Iterator >::len16

Definition at line 100 of file grammar_bitefficient.h.

template<typename Iterator >
Len32<Iterator> BinStringNoCodetable< Iterator >::len32

Definition at line 101 of file grammar_bitefficient.h.

template<typename Iterator >
Len8<Iterator> BinStringNoCodetable< Iterator >::len8

Definition at line 99 of file grammar_bitefficient.h.

template<typename Iterator >
NullTerminatedString<Iterator> BinStringNoCodetable< Iterator >::nullTerminatedString

Definition at line 103 of file grammar_bitefficient.h.


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