1#ifndef SIMDJSON_ARM64_IMPLEMENTATION_H
2#define SIMDJSON_ARM64_IMPLEMENTATION_H
3
4#include "simdjson/base.h"
5#include "simdjson/internal/isadetection.h"
6
7namespace simdjson {
8namespace arm64 {
9
10namespace {
11using namespace simdjson;
12using namespace simdjson::dom;
13}
14
15/**
16 * @private
17 */
18class implementation final : public simdjson::implementation {
19public:
20 simdjson_inline implementation() : simdjson::implementation("arm64", "ARM NEON", internal::instruction_set::NEON) {}
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 arm64
31} // namespace simdjson
32
33#endif // SIMDJSON_ARM64_IMPLEMENTATION_H
34