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 | |
7 | namespace simdjson { |
8 | namespace arm64 { |
9 | |
10 | namespace { |
11 | using namespace simdjson; |
12 | using namespace simdjson::dom; |
13 | } |
14 | |
15 | /** |
16 | * @private |
17 | */ |
18 | class implementation final : public simdjson::implementation { |
19 | public: |
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 |