8#ifndef INCLUDED_BALXML_LISTPARSER
9#define INCLUDED_BALXML_LISTPARSER
158#include <balscm_version.h>
172#include <bsl_functional.h>
173#include <bsl_memory.h>
174#include <bsl_string.h>
217 int appendElement(
const char *data,
int dataLength);
256 template <
class INPUT_ITERATOR>
280 return d_parseElementCallback(elem, d_data, d_dataLength);
282 template <
class t_ELEM>
295 enum { k_SUCCESS = 0, k_FAILURE = -1 };
301 ParseElementFunctor parseElementFunctor = {d_parseElementCallback,
322: d_characters(basicAllocator)
324, d_parseElementCallback(
bsl::allocator_arg_t(),
326 parseElementCallback)
337 enum { k_SUCCESS = 0 };
339 d_characters.clear();
352 enum { k_SUCCESS = 0, k_FAILURE = -1 };
354 if (!d_characters.empty()) {
355 if (0 != appendElement(d_characters.data(),
356 static_cast<int>(d_characters.length()))) {
367template <
class INPUT_ITERATOR>
372 enum { k_SUCCESS = 0, k_FAILURE = -1 };
374 while (begin != end) {
375 const char character = *begin;
380 if (!d_characters.empty()) {
381 if (0 != appendElement(
383 static_cast<int>(d_characters.length()))) {
387 d_characters.clear();
391 d_characters.push_back(character);
Definition balxml_listparser.h:187
int(* ParseElementFunction)(ElementType *, const char *, int)
Definition balxml_listparser.h:197
int pushCharacters(INPUT_ITERATOR begin, INPUT_ITERATOR end)
Definition balxml_listparser.h:368
int endParse()
Definition balxml_listparser.h:348
int beginParse(TYPE *object)
Definition balxml_listparser.h:333
bsl::function< int(ElementType *, const char *, int)> ParseElementCallback
Definition balxml_listparser.h:199
Definition bslstl_string.h:1252
Forward declaration.
Definition bslstl_function.h:946
Definition bslma_allocator.h:545
#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
int manipulateElement(TYPE *array, MANIPULATOR &manipulator, int index)
void resize(TYPE *array, int newSize)
bsl::size_t size(const TYPE &array)
Return the number of elements in the specified array.
Definition bdlat_valuetypefunctions.h:939
Definition balxml_listparser.h:271
int operator()(ElementType *elem)
Definition balxml_listparser.h:278
int d_dataLength
Definition balxml_listparser.h:275
ParseElementCallback & d_parseElementCallback
Definition balxml_listparser.h:273
int operator()(t_ELEM *)
Definition balxml_listparser.h:283
const char * d_data
Definition balxml_listparser.h:274
Definition bdlat_arrayfunctions.h:756
static bool isSpace(char character)
Definition bdlb_chartype.h:814