simdjson 4.2.3
Ridiculously Fast JSON
Loading...
Searching...
No Matches
tape_ref.h
1#ifndef SIMDJSON_INTERNAL_TAPE_REF_H
2#define SIMDJSON_INTERNAL_TAPE_REF_H
3
4#include "simdjson/base.h"
5
6namespace simdjson {
7namespace dom {
8class document;
9} // namespace dom
10
11namespace internal {
12
16class tape_ref {
17public:
18 simdjson_inline tape_ref() noexcept;
19 simdjson_inline tape_ref(const dom::document *doc, size_t json_index) noexcept;
20 inline size_t after_element() const noexcept;
21 simdjson_inline tape_type tape_ref_type() const noexcept;
22 simdjson_inline uint64_t tape_value() const noexcept;
23 simdjson_inline bool is_double() const noexcept;
24 simdjson_inline bool is_int64() const noexcept;
25 simdjson_inline bool is_uint64() const noexcept;
26 simdjson_inline bool is_false() const noexcept;
27 simdjson_inline bool is_true() const noexcept;
28 simdjson_inline bool is_null_on_tape() const noexcept;// different name to avoid clash with is_null.
29 simdjson_inline uint32_t matching_brace_index() const noexcept;
30 simdjson_inline uint32_t scope_count() const noexcept;
31 template<typename T>
32 simdjson_inline T next_tape_value() const noexcept;
33 simdjson_inline uint32_t get_string_length() const noexcept;
34 simdjson_inline const char * get_c_str() const noexcept;
35 inline std::string_view get_string_view() const noexcept;
36 simdjson_inline bool is_document_root() const noexcept;
37 simdjson_inline bool usable() const noexcept;
38
40 const dom::document *doc;
41
43 size_t json_index;
44};
45
46} // namespace internal
47} // namespace simdjson
48
49#endif // SIMDJSON_INTERNAL_TAPE_REF_H
The top level simdjson namespace, containing everything the library provides.
Definition base.h:8