simdjson  3.1.6
Ridiculously Fast JSON
implementation.h
1 #ifndef SIMDJSON_WESTMERE_IMPLEMENTATION_H
2 #define SIMDJSON_WESTMERE_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_WESTMERE
7 namespace simdjson {
8 namespace westmere {
9 
10 namespace {
11 using namespace simdjson;
12 using namespace simdjson::dom;
13 }
14 
18 class implementation final : public simdjson::implementation {
19 public:
20  simdjson_inline implementation() : simdjson::implementation("westmere", "Intel/AMD SSE4.2", internal::instruction_set::SSE42 | internal::instruction_set::PCLMULQDQ) {}
21  simdjson_warn_unused error_code create_dom_parser_implementation(
22  size_t capacity,
23  size_t max_length,
24  std::unique_ptr<internal::dom_parser_implementation>& dst
25  ) const noexcept final;
26  simdjson_warn_unused error_code minify(const uint8_t *buf, size_t len, uint8_t *dst, size_t &dst_len) const noexcept final;
27  simdjson_warn_unused bool validate_utf8(const char *buf, size_t len) const noexcept final;
28 };
29 
30 } // namespace westmere
31 } // namespace simdjson
32 
33 #endif // SIMDJSON_WESTMERE_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.