Ensuring that stage 1's json_block and cie are never copied and using explicit constructors (issue 1475) (#1478)

This commit is contained in:
Daniel Lemire
2021-03-04 07:59:36 -05:00
committed by GitHub
parent 79e94227c2
commit dc2f767171
14 changed files with 77 additions and 47 deletions
+3 -3
View File
@@ -12,9 +12,9 @@ using namespace simd;
struct json_character_block {
static simdjson_really_inline json_character_block classify(const simd::simd8x64<uint8_t>& in);
simdjson_really_inline uint64_t whitespace() const { return _whitespace; }
simdjson_really_inline uint64_t op() const { return _op; }
simdjson_really_inline uint64_t scalar() { return ~(op() | whitespace()); }
simdjson_really_inline uint64_t whitespace() const noexcept { return _whitespace; }
simdjson_really_inline uint64_t op() const noexcept { return _op; }
simdjson_really_inline uint64_t scalar() const noexcept { return ~(op() | whitespace()); }
uint64_t _whitespace;
uint64_t _op;