8#ifndef INCLUDED_BALXML_HEXPARSER
9#define INCLUDED_BALXML_HEXPARSER
148#include <balscm_version.h>
184 void appendOctet(
char firstDigit,
char secondDigit);
217 template <
class INPUT_ITERATOR>
232 template <
class TYPE>
236 static const char s_hexValueTable[128];
255 (char)((HexParser_Helper::s_hexValueTable[(
int)firstDigit] << 4)
256 | (HexParser_Helper::s_hexValueTable[(int)secondDigit]));
258 d_object_p->push_back(value);
275 enum { k_SUCCESS = 0 };
290 enum { k_SUCCESS = 0, k_FAILURE = -1 };
294 return 0 == d_firstDigit ? k_SUCCESS : k_FAILURE;
298template <
class INPUT_ITERATOR>
303 enum { k_SUCCESS = 0, k_FAILURE = -1 };
305 while (begin != end) {
306 const char digit = *begin;
315 if (0 == d_firstDigit) {
316 d_firstDigit = digit;
319 appendOctet(d_firstDigit, digit);
Definition balxml_hexparser.h:230
Definition balxml_hexparser.h:169
int pushCharacters(INPUT_ITERATOR begin, INPUT_ITERATOR end)
Definition balxml_hexparser.h:299
int endParse()
Definition balxml_hexparser.h:286
HexParser()
Create a parser for parsing Hex types.
Definition balxml_hexparser.h:263
int beginParse(TYPE *object)
Definition balxml_hexparser.h:271
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balxml_base64parser.h:150
void reset(TYPE *object)
Reset the value of the specified object to its default value.
static bool isSpace(char character)
Definition bdlb_chartype.h:814
static bool isXdigit(char character)
Definition bdlb_chartype.h:802