This commit is contained in:
abc100m 2016-03-29 18:14:46 +00:00
commit 8a17173085
2 changed files with 48 additions and 7 deletions

View File

@ -1,4 +1,4 @@
/*
/*
__ _____ _____ _____
__| | __| | | | JSON for Modern C++
| | |__ | | | | | | version 2.0.0
@ -4891,7 +4891,13 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator, cnt, val);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
#endif
return result;
}
else
@ -4957,10 +4963,19 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator,
first.m_it.array_iterator,
last.m_it.array_iterator);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(
pos.m_it.array_iterator,
first.m_it.array_iterator,
last.m_it.array_iterator);
#endif
return result;
}
@ -5005,7 +5020,13 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator, ilist);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
#endif
return result;
}

View File

@ -4891,7 +4891,13 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator, cnt, val);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
#endif
return result;
}
else
@ -4957,10 +4963,18 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator,
first.m_it.array_iterator,
last.m_it.array_iterator);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(
pos.m_it.array_iterator,
first.m_it.array_iterator,
last.m_it.array_iterator);
#endif
return result;
}
@ -5005,7 +5019,13 @@ class basic_json
// insert to array and return iterator
iterator result(this);
assert(m_value.array != nullptr);
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
#if defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 8
auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
m_value.array->insert(pos.m_it.array_iterator, ilist);
result.m_it.array_iterator = m_value.array->begin() + insert_pos;
#else
result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, ilist);
#endif
return result;
}