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>
214 int appendElement(
const char *data,
int dataLength);
251 template <
class INPUT_ITERATOR>
271 enum { k_SUCCESS = 0, k_FAILURE = -1 };
303: d_characters(basicAllocator)
305, d_parseElementCallback(
bsl::allocator_arg_t(),
307 parseElementCallback)
318 enum { k_SUCCESS = 0 };
320 d_characters.clear();
333 enum { k_SUCCESS = 0, k_FAILURE = -1 };
335 if (!d_characters.empty()) {
336 if (0 != appendElement(d_characters.data(),
337 static_cast<int>(d_characters.length()))) {
348template <
class INPUT_ITERATOR>
353 enum { k_SUCCESS = 0, k_FAILURE = -1 };
355 while (begin != end) {
356 const char character = *begin;
361 if (!d_characters.empty()) {
362 if (0 != appendElement(
364 static_cast<int>(d_characters.length()))) {
368 d_characters.clear();
372 d_characters.push_back(character);
Definition balxml_listparser.h:187
int(* ParseElementFunction)(ElementType *, const char *, int)
Definition balxml_listparser.h:195
int pushCharacters(INPUT_ITERATOR begin, INPUT_ITERATOR end)
Definition balxml_listparser.h:349
int endParse()
Definition balxml_listparser.h:329
int beginParse(TYPE *object)
Definition balxml_listparser.h:314
bsl::function< int(ElementType *, const char *, int)> ParseElementCallback
Definition balxml_listparser.h:197
static Bind< bslmf::Nil, t_FUNC, Bind_BoundTuple0 > bind(t_FUNC func)
Definition bdlf_bind.h:1830
Definition bslstl_string.h:1281
Forward declaration.
Definition bslstl_function.h:934
Definition bslma_allocator.h:457
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
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.
const PlaceHolder< 1 > _1
Definition bdlb_printmethods.h:283
Definition bdlat_arrayfunctions.h:712
static bool isSpace(char character)
Definition bdlb_chartype.h:842