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