mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-04-28 02:33:28 +02:00
Integrated part of Patch #2839016, fixing default iterator initialization when using internal map.
This commit is contained in:
parent
2bcfb63362
commit
4a5e58c4f4
@ -637,6 +637,13 @@ namespace Json {
|
|||||||
# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION
|
# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION
|
||||||
struct IteratorState
|
struct IteratorState
|
||||||
{
|
{
|
||||||
|
IteratorState()
|
||||||
|
: map_(0)
|
||||||
|
, link_(0)
|
||||||
|
, itemIndex_(0)
|
||||||
|
, bucketIndex_(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
ValueInternalMap *map_;
|
ValueInternalMap *map_;
|
||||||
ValueInternalLink *link_;
|
ValueInternalLink *link_;
|
||||||
BucketIndex itemIndex_;
|
BucketIndex itemIndex_;
|
||||||
@ -729,6 +736,12 @@ namespace Json {
|
|||||||
# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION
|
# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION
|
||||||
struct IteratorState // Must be a POD
|
struct IteratorState // Must be a POD
|
||||||
{
|
{
|
||||||
|
IteratorState()
|
||||||
|
: array_(0)
|
||||||
|
, currentPageIndex_(0)
|
||||||
|
, currentItemIndex_(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
ValueInternalArray *array_;
|
ValueInternalArray *array_;
|
||||||
Value **currentPageIndex_;
|
Value **currentPageIndex_;
|
||||||
unsigned int currentItemIndex_;
|
unsigned int currentItemIndex_;
|
||||||
|
@ -14,11 +14,15 @@ ValueIteratorBase::ValueIteratorBase()
|
|||||||
#ifndef JSON_VALUE_USE_INTERNAL_MAP
|
#ifndef JSON_VALUE_USE_INTERNAL_MAP
|
||||||
: current_()
|
: current_()
|
||||||
, isNull_( true )
|
, isNull_( true )
|
||||||
#else
|
|
||||||
# error fix me // Need to handle uninitialized iterator comparison for experimental maps
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
: isArray_( true )
|
||||||
|
, isNull_( true )
|
||||||
|
{
|
||||||
|
iterator_.array_ = ValueInternalArray::IteratorState();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef JSON_VALUE_USE_INTERNAL_MAP
|
#ifndef JSON_VALUE_USE_INTERNAL_MAP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user