mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
27 lines
797 B
C++
27 lines
797 B
C++
#ifndef SIMDJSON_SRC_GENERIC_JSON_CHARACTER_BLOCK_H
|
|
|
|
#ifndef SIMDJSON_AMALGAMATED
|
|
#define SIMDJSON_SRC_GENERIC_JSON_CHARACTER_BLOCK_H
|
|
#include "generic/base.h"
|
|
#endif // SIMDJSON_AMALGAMATED
|
|
|
|
namespace simdjson {
|
|
namespace SIMDJSON_IMPLEMENTATION {
|
|
namespace {
|
|
|
|
struct json_character_block {
|
|
static simdjson_inline json_character_block classify(const simd::simd8x64<uint8_t>& in);
|
|
|
|
simdjson_inline uint64_t whitespace() const noexcept { return _whitespace; }
|
|
simdjson_inline uint64_t op() const noexcept { return _op; }
|
|
simdjson_inline uint64_t scalar() const noexcept { return ~(op() | whitespace()); }
|
|
|
|
uint64_t _whitespace;
|
|
uint64_t _op;
|
|
};
|
|
|
|
} // unnamed namespace
|
|
} // namespace SIMDJSON_IMPLEMENTATION
|
|
} // namespace simdjson
|
|
|
|
#endif // SIMDJSON_SRC_GENERIC_JSON_CHARACTER_BLOCK_H
|