simdjson  3.1.6
Ridiculously Fast JSON
implementation.h
1 #ifndef SIMDJSON_HASWELL_IMPLEMENTATION_H
2 #define SIMDJSON_HASWELL_IMPLEMENTATION_H
3 
4 #include "simdjson/implementation.h"
5 
6 // The constructor may be executed on any host, so we take care not to use SIMDJSON_TARGET_HASWELL
7 namespace simdjson {
8 namespace haswell {
9 
10 using namespace simdjson;
11 
15 class implementation final : public simdjson::implementation {
16 public:
17  simdjson_inline implementation() : simdjson::implementation(
18  "haswell",
19  "Intel/AMD AVX2",
20  internal::instruction_set::AVX2 | internal::instruction_set::PCLMULQDQ | internal::instruction_set::BMI1 | internal::instruction_set::BMI2
21  ) {}
22  simdjson_warn_unused error_code create_dom_parser_implementation(
23  size_t capacity,
24  size_t max_length,
25  std::unique_ptr<internal::dom_parser_implementation>& dst
26  ) const noexcept final;
27  simdjson_warn_unused error_code minify(const uint8_t *buf, size_t len, uint8_t *dst, size_t &dst_len) const noexcept final;
28  simdjson_warn_unused bool validate_utf8(const char *buf, size_t len) const noexcept final;
29 };
30 
31 } // namespace haswell
32 } // namespace simdjson
33 
34 #endif // SIMDJSON_HASWELL_IMPLEMENTATION_H
An implementation of simdjson for a particular CPU architecture.
virtual simdjson_warn_unused bool validate_utf8(const char *buf, size_t len) const noexcept=0
Validate the UTF-8 string.
We want to support argument-dependent lookup (ADL).
error_code
All possible errors returned by simdjson.
Definition: error.h:17
std::string minify(T x)
Minifies a JSON element or document, printing the smallest possible valid JSON.