| 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 |