10 #ifndef UTILITY_PARSER_H
11 #define UTILITY_PARSER_H
42 template<const
int SIZE>
45 typedef uint8_t SIZE_needs_to_be_4_and_under[(SIZE > 4)? -1 : 1];
70 template<const
int SIZE>
73 typedef uint8_t SIZE_needs_to_be_4_and_under[(SIZE > 4)? -1 : 1];
108 virtual bool parse(
const char* input) = 0;
117 virtual const int8_t&
index();
144 virtual bool parse(
const char* input);
171 const char* m_accept_chars;
203 virtual bool parse(
const char* input);
237 const char** m_accept_strs;
238 const uint8_t m_size;
265 virtual bool parse(
const char* input);
292 virtual bool parse(
const char* input);
295 #endif // UTILITY_PARSER_H
virtual ~NilParser()
Destructor.
int16_t hexbytes2int16_impl(const char *bytes, uint8_t size)
Convert hex string to an int16_t.
virtual bool parse(const char *input)
Parse input string.
virtual ~HexStringParser()
Destructor.
CharGroupParser(const char *accept_chars)
Constructor.
virtual const int8_t & index()
Get matched index of after parsing.
virtual ~CharGroupParser()
Destructor.
Parser class that accepts only strings given.
Definition: Parser.h:234
Parser class that accepts only hex string.
Definition: Parser.h:272
virtual bool parse(const char *input)=0
Parser function interface.
Abstract parser interface.
Definition: Parser.h:83
int8_t m_index
Definition: Parser.h:86
virtual ~StringGroupParser()
Destructor.
int16_t hexbytes2int16(const char *bytes)
hexbytes2int16_impl with compile time assertion.
Definition: Parser.h:71
virtual bool parse(const char *input)
Do nothing.
Parser class that accepts only characters given.
Definition: Parser.h:168
HexStringParser()
Constructor.
virtual ~AbstractParser()
Destructor.
AbstractParser()
Constructor.
uint16_t hexbytes2uint16(const char *bytes)
hexbytes2uint16_impl with compile time assertion
Definition: Parser.h:43
StringGroupParser(const char *accept_strs[], uint8_t size)
Constructor.
virtual bool parse(const char *input)
Parse input string.
virtual bool parse(const char *input)
Parse input string.
uint16_t hexbytes2uint16_impl(const char *bytes, uint8_t size)
Convert hex string to an uint16_t.
Parser class that accepts all.
Definition: Parser.h:124