added assertion for contiguous memory

This commit is contained in:
Niels 2016-08-14 23:38:20 +02:00
parent 92ee1d56eb
commit dfc2c1abe5
3 changed files with 21 additions and 9 deletions

View file

@ -8902,7 +8902,13 @@ basic_json_parser_63:
: callback(cb),
m_lexer(reinterpret_cast<const typename lexer::lexer_char_t*>(&(*first)),
static_cast<size_t>(std::distance(first, last)))
{}
{
int i = 0;
assert(std::accumulate(first, last, true, [&i, &first](bool res, decltype(*first) val)
{
return res and (val == *(std::next(std::addressof(*first), i++)));
}));
}
/// public parser interface
basic_json parse()

View file

@ -8199,7 +8199,13 @@ class basic_json
: callback(cb),
m_lexer(reinterpret_cast<const typename lexer::lexer_char_t*>(&(*first)),
static_cast<size_t>(std::distance(first, last)))
{}
{
int i = 0;
assert(std::accumulate(first, last, true, [&i, &first](bool res, decltype(*first) val)
{
return res and (val == *(std::next(std::addressof(*first), i++)));
}));
}
/// public parser interface
basic_json parse()