mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-26 18:51:04 +08: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
|
||||
struct IteratorState
|
||||
{
|
||||
IteratorState()
|
||||
: map_(0)
|
||||
, link_(0)
|
||||
, itemIndex_(0)
|
||||
, bucketIndex_(0)
|
||||
{
|
||||
}
|
||||
ValueInternalMap *map_;
|
||||
ValueInternalLink *link_;
|
||||
BucketIndex itemIndex_;
|
||||
@ -729,6 +736,12 @@ namespace Json {
|
||||
# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION
|
||||
struct IteratorState // Must be a POD
|
||||
{
|
||||
IteratorState()
|
||||
: array_(0)
|
||||
, currentPageIndex_(0)
|
||||
, currentItemIndex_(0)
|
||||
{
|
||||
}
|
||||
ValueInternalArray *array_;
|
||||
Value **currentPageIndex_;
|
||||
unsigned int currentItemIndex_;
|
||||
|
@ -14,11 +14,15 @@ ValueIteratorBase::ValueIteratorBase()
|
||||
#ifndef JSON_VALUE_USE_INTERNAL_MAP
|
||||
: current_()
|
||||
, 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user