v8 14.1.146 (node 25.0.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
v8-data.h
Go to the documentation of this file.
1// Copyright 2021 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef INCLUDE_V8_DATA_H_
6#define INCLUDE_V8_DATA_H_
7
8#include "v8-local-handle.h" // NOLINT(build/include_directory)
9#include "v8config.h" // NOLINT(build/include_directory)
10
11namespace v8 {
12
13class Context;
14
15/**
16 * The superclass of objects that can reside on V8's heap.
17 */
19 public:
20 /**
21 * Returns true if this data is a |v8::Value|.
22 */
23 bool IsValue() const;
24
25 /**
26 * Returns true if this data is a |v8::Module|.
27 */
28 bool IsModule() const;
29
30 /**
31 * Returns true if this data is a |v8::ModuleRequest|.
32 */
33 bool IsModuleRequest() const;
34
35 /**
36 * Returns tru if this data is a |v8::FixedArray|
37 */
38 bool IsFixedArray() const;
39
40 /**
41 * Returns true if this data is a |v8::Private|.
42 */
43 bool IsPrivate() const;
44
45 /**
46 * Returns true if this data is a |v8::ObjectTemplate|.
47 */
48 bool IsObjectTemplate() const;
49
50 /**
51 * Returns true if this data is a |v8::FunctionTemplate|.
52 */
53 bool IsFunctionTemplate() const;
54
55 /**
56 * Returns true if this data is a |v8::Context|.
57 */
58 bool IsContext() const;
59
60 /**
61 * Returns true if this value is a `CppHeapExternal` object.
62 */
63 bool IsCppHeapExternal() const;
64
65 private:
66 Data() = delete;
67};
68
69/**
70 * A fixed-sized array with elements of type Data.
71 */
72class V8_EXPORT FixedArray : public Data {
73 public:
74 int Length() const;
75 Local<Data> Get(Local<Context> context, int i) const;
76
77 V8_INLINE static FixedArray* Cast(Data* data) {
78#ifdef V8_ENABLE_CHECKS
79 CheckCast(data);
80#endif
81 return reinterpret_cast<FixedArray*>(data);
82 }
83
84 private:
85 static void CheckCast(Data* obj);
86};
87
88} // namespace v8
89
90#endif // INCLUDE_V8_DATA_H_
bool IsCppHeapExternal() const
bool IsModuleRequest() const
bool IsContext() const
bool IsFunctionTemplate() const
bool IsObjectTemplate() const
bool IsModule() const
bool IsPrivate() const
bool IsFixedArray() const
bool IsValue() const
Local< Data > Get(Local< Context > context, int i) const
static V8_INLINE FixedArray * Cast(Data *data)
Definition v8-data.h:77
int Length() const
friend class Local
#define V8_EXPORT
Definition v8config.h:860
#define V8_INLINE
Definition v8config.h:513