@downdraft/native-mobile-android-arm64 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/include/node/cppgc/allocation.h +308 -0
  2. package/include/node/cppgc/common.h +28 -0
  3. package/include/node/cppgc/cross-thread-persistent.h +462 -0
  4. package/include/node/cppgc/custom-space.h +97 -0
  5. package/include/node/cppgc/default-platform.h +68 -0
  6. package/include/node/cppgc/explicit-management.h +100 -0
  7. package/include/node/cppgc/garbage-collected.h +114 -0
  8. package/include/node/cppgc/heap-consistency.h +309 -0
  9. package/include/node/cppgc/heap-handle.h +48 -0
  10. package/include/node/cppgc/heap-state.h +82 -0
  11. package/include/node/cppgc/heap-statistics.h +126 -0
  12. package/include/node/cppgc/heap.h +202 -0
  13. package/include/node/cppgc/internal/api-constants.h +75 -0
  14. package/include/node/cppgc/internal/atomic-entry-flag.h +48 -0
  15. package/include/node/cppgc/internal/base-page-handle.h +43 -0
  16. package/include/node/cppgc/internal/caged-heap-local-data.h +117 -0
  17. package/include/node/cppgc/internal/caged-heap.h +64 -0
  18. package/include/node/cppgc/internal/compiler-specific.h +46 -0
  19. package/include/node/cppgc/internal/conditional-stack-allocated.h +41 -0
  20. package/include/node/cppgc/internal/finalizer-trait.h +93 -0
  21. package/include/node/cppgc/internal/gc-info.h +150 -0
  22. package/include/node/cppgc/internal/logging.h +50 -0
  23. package/include/node/cppgc/internal/member-storage.h +305 -0
  24. package/include/node/cppgc/internal/name-trait.h +141 -0
  25. package/include/node/cppgc/internal/persistent-node.h +219 -0
  26. package/include/node/cppgc/internal/pointer-policies.h +280 -0
  27. package/include/node/cppgc/internal/write-barrier.h +487 -0
  28. package/include/node/cppgc/liveness-broker.h +78 -0
  29. package/include/node/cppgc/macros.h +56 -0
  30. package/include/node/cppgc/member.h +669 -0
  31. package/include/node/cppgc/name-provider.h +75 -0
  32. package/include/node/cppgc/object-size-trait.h +58 -0
  33. package/include/node/cppgc/persistent.h +376 -0
  34. package/include/node/cppgc/platform.h +174 -0
  35. package/include/node/cppgc/prefinalizer.h +75 -0
  36. package/include/node/cppgc/process-heap-statistics.h +36 -0
  37. package/include/node/cppgc/sentinel-pointer.h +39 -0
  38. package/include/node/cppgc/source-location.h +16 -0
  39. package/include/node/cppgc/tagged-member.h +114 -0
  40. package/include/node/cppgc/testing.h +106 -0
  41. package/include/node/cppgc/trace-trait.h +127 -0
  42. package/include/node/cppgc/type-traits.h +272 -0
  43. package/include/node/cppgc/visitor.h +534 -0
  44. package/include/node/js_native_api.h +634 -0
  45. package/include/node/js_native_api_types.h +244 -0
  46. package/include/node/libplatform/libplatform-export.h +29 -0
  47. package/include/node/libplatform/libplatform.h +112 -0
  48. package/include/node/libplatform/v8-tracing.h +343 -0
  49. package/include/node/node.h +1744 -0
  50. package/include/node/node_api.h +265 -0
  51. package/include/node/node_api_types.h +58 -0
  52. package/include/node/node_buffer.h +94 -0
  53. package/include/node/node_object_wrap.h +145 -0
  54. package/include/node/node_version.h +116 -0
  55. package/include/node/uv/aix.h +32 -0
  56. package/include/node/uv/bsd.h +34 -0
  57. package/include/node/uv/darwin.h +61 -0
  58. package/include/node/uv/errno.h +483 -0
  59. package/include/node/uv/linux.h +34 -0
  60. package/include/node/uv/os390.h +33 -0
  61. package/include/node/uv/posix.h +31 -0
  62. package/include/node/uv/sunos.h +44 -0
  63. package/include/node/uv/threadpool.h +37 -0
  64. package/include/node/uv/tree.h +521 -0
  65. package/include/node/uv/unix.h +509 -0
  66. package/include/node/uv/version.h +43 -0
  67. package/include/node/uv/win.h +698 -0
  68. package/include/node/uv.h +1994 -0
  69. package/include/node/v8-array-buffer.h +646 -0
  70. package/include/node/v8-callbacks.h +533 -0
  71. package/include/node/v8-container.h +183 -0
  72. package/include/node/v8-context.h +580 -0
  73. package/include/node/v8-cpp-heap-external.h +56 -0
  74. package/include/node/v8-cppgc.h +194 -0
  75. package/include/node/v8-data.h +96 -0
  76. package/include/node/v8-date.h +57 -0
  77. package/include/node/v8-debug.h +210 -0
  78. package/include/node/v8-embedder-heap.h +54 -0
  79. package/include/node/v8-embedder-state-scope.h +52 -0
  80. package/include/node/v8-exception.h +298 -0
  81. package/include/node/v8-extension.h +60 -0
  82. package/include/node/v8-external-memory-accounter.h +60 -0
  83. package/include/node/v8-external.h +73 -0
  84. package/include/node/v8-fast-api-calls.h +784 -0
  85. package/include/node/v8-forward.h +82 -0
  86. package/include/node/v8-function-callback.h +708 -0
  87. package/include/node/v8-function.h +148 -0
  88. package/include/node/v8-handle-base.h +155 -0
  89. package/include/node/v8-initialization.h +343 -0
  90. package/include/node/v8-inspector-protocol.h +13 -0
  91. package/include/node/v8-inspector.h +458 -0
  92. package/include/node/v8-internal.h +1827 -0
  93. package/include/node/v8-isolate.h +1925 -0
  94. package/include/node/v8-json.h +54 -0
  95. package/include/node/v8-local-handle.h +884 -0
  96. package/include/node/v8-locker.h +138 -0
  97. package/include/node/v8-maybe.h +185 -0
  98. package/include/node/v8-memory-span.h +273 -0
  99. package/include/node/v8-message.h +215 -0
  100. package/include/node/v8-metrics.h +273 -0
  101. package/include/node/v8-microtask-queue.h +152 -0
  102. package/include/node/v8-microtask.h +28 -0
  103. package/include/node/v8-object.h +1134 -0
  104. package/include/node/v8-persistent-handle.h +556 -0
  105. package/include/node/v8-platform.h +1552 -0
  106. package/include/node/v8-primitive-object.h +118 -0
  107. package/include/node/v8-primitive.h +1056 -0
  108. package/include/node/v8-profiler.h +1401 -0
  109. package/include/node/v8-promise.h +185 -0
  110. package/include/node/v8-proxy.h +49 -0
  111. package/include/node/v8-regexp.h +105 -0
  112. package/include/node/v8-sandbox.h +170 -0
  113. package/include/node/v8-script.h +996 -0
  114. package/include/node/v8-snapshot.h +302 -0
  115. package/include/node/v8-source-location.h +91 -0
  116. package/include/node/v8-statistics.h +246 -0
  117. package/include/node/v8-template.h +1096 -0
  118. package/include/node/v8-trace-categories.h +28 -0
  119. package/include/node/v8-traced-handle.h +420 -0
  120. package/include/node/v8-typed-array.h +386 -0
  121. package/include/node/v8-unwinder-state.h +30 -0
  122. package/include/node/v8-unwinder.h +146 -0
  123. package/include/node/v8-util.h +549 -0
  124. package/include/node/v8-value-serializer-version.h +24 -0
  125. package/include/node/v8-value-serializer.h +316 -0
  126. package/include/node/v8-value.h +674 -0
  127. package/include/node/v8-version-string.h +38 -0
  128. package/include/node/v8-version.h +20 -0
  129. package/include/node/v8-wasm-trap-handler-posix.h +31 -0
  130. package/include/node/v8-wasm-trap-handler-win.h +28 -0
  131. package/include/node/v8-wasm.h +325 -0
  132. package/include/node/v8-weak-callback-info.h +88 -0
  133. package/include/node/v8.h +88 -0
  134. package/include/node/v8config.h +1077 -0
  135. package/lib/libc++_shared.so +0 -0
  136. package/lib/libnode.so +4 -0
  137. package/package.json +23 -3
@@ -0,0 +1,272 @@
1
+ // Copyright 2020 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_CPPGC_TYPE_TRAITS_H_
6
+ #define INCLUDE_CPPGC_TYPE_TRAITS_H_
7
+
8
+ // This file should stay with minimal dependencies to allow embedder to check
9
+ // against Oilpan types without including any other parts.
10
+ #include <cstddef>
11
+ #include <type_traits>
12
+ #include <utility>
13
+
14
+ namespace cppgc {
15
+
16
+ class Visitor;
17
+
18
+ namespace internal {
19
+ template <typename T, typename WeaknessTag, typename WriteBarrierPolicy,
20
+ typename CheckingPolicy, typename StorageType>
21
+ class BasicMember;
22
+ struct DijkstraWriteBarrierPolicy;
23
+ struct NoWriteBarrierPolicy;
24
+ class StrongMemberTag;
25
+ class UntracedMemberTag;
26
+ class WeakMemberTag;
27
+
28
+ // Not supposed to be specialized by the user.
29
+ template <typename T>
30
+ struct IsWeak : std::false_type {};
31
+
32
+ // IsTraceMethodConst is used to verify that all Trace methods are marked as
33
+ // const. It is equivalent to IsTraceable but for a non-const object.
34
+ template <typename T, typename = void>
35
+ struct IsTraceMethodConst : std::false_type {};
36
+
37
+ template <typename T>
38
+ struct IsTraceMethodConst<T, std::void_t<decltype(std::declval<const T>().Trace(
39
+ std::declval<Visitor*>()))>> : std::true_type {
40
+ };
41
+
42
+ template <typename T, typename = void>
43
+ struct IsTraceable : std::false_type {
44
+ static_assert(sizeof(T), "T must be fully defined");
45
+ };
46
+
47
+ template <typename T>
48
+ struct IsTraceable<
49
+ T, std::void_t<decltype(std::declval<T>().Trace(std::declval<Visitor*>()))>>
50
+ : std::true_type {
51
+ // All Trace methods should be marked as const. If an object of type
52
+ // 'T' is traceable then any object of type 'const T' should also
53
+ // be traceable.
54
+ static_assert(IsTraceMethodConst<T>(),
55
+ "Trace methods should be marked as const.");
56
+ };
57
+
58
+ template <typename T>
59
+ constexpr bool IsTraceableV = IsTraceable<T>::value;
60
+
61
+ template <typename T, typename = void>
62
+ struct HasGarbageCollectedMixinTypeMarker : std::false_type {
63
+ static_assert(sizeof(T), "T must be fully defined");
64
+ };
65
+
66
+ template <typename T>
67
+ struct HasGarbageCollectedMixinTypeMarker<
68
+ T, std::void_t<
69
+ typename std::remove_const_t<T>::IsGarbageCollectedMixinTypeMarker>>
70
+ : std::true_type {
71
+ static_assert(sizeof(T), "T must be fully defined");
72
+ };
73
+
74
+ template <typename T, typename = void>
75
+ struct HasGarbageCollectedTypeMarker : std::false_type {
76
+ static_assert(sizeof(T), "T must be fully defined");
77
+ };
78
+
79
+ template <typename T>
80
+ struct HasGarbageCollectedTypeMarker<
81
+ T,
82
+ std::void_t<typename std::remove_const_t<T>::IsGarbageCollectedTypeMarker>>
83
+ : std::true_type {
84
+ static_assert(sizeof(T), "T must be fully defined");
85
+ };
86
+
87
+ template <typename T, bool = HasGarbageCollectedTypeMarker<T>::value,
88
+ bool = HasGarbageCollectedMixinTypeMarker<T>::value>
89
+ struct IsGarbageCollectedMixinType : std::false_type {
90
+ static_assert(sizeof(T), "T must be fully defined");
91
+ };
92
+
93
+ template <typename T>
94
+ struct IsGarbageCollectedMixinType<T, false, true> : std::true_type {
95
+ static_assert(sizeof(T), "T must be fully defined");
96
+ };
97
+
98
+ template <typename T, bool = HasGarbageCollectedTypeMarker<T>::value>
99
+ struct IsGarbageCollectedType : std::false_type {
100
+ static_assert(sizeof(T), "T must be fully defined");
101
+ };
102
+
103
+ template <typename T>
104
+ struct IsGarbageCollectedType<T, true> : std::true_type {
105
+ static_assert(sizeof(T), "T must be fully defined");
106
+ };
107
+
108
+ template <typename T>
109
+ struct IsGarbageCollectedOrMixinType
110
+ : std::integral_constant<bool, IsGarbageCollectedType<T>::value ||
111
+ IsGarbageCollectedMixinType<T>::value> {
112
+ static_assert(sizeof(T), "T must be fully defined");
113
+ };
114
+
115
+ template <typename T, bool = (HasGarbageCollectedTypeMarker<T>::value &&
116
+ HasGarbageCollectedMixinTypeMarker<T>::value)>
117
+ struct IsGarbageCollectedWithMixinType : std::false_type {
118
+ static_assert(sizeof(T), "T must be fully defined");
119
+ };
120
+
121
+ template <typename T>
122
+ struct IsGarbageCollectedWithMixinType<T, true> : std::true_type {
123
+ static_assert(sizeof(T), "T must be fully defined");
124
+ };
125
+
126
+ template <typename BasicMemberCandidate, typename WeaknessTag,
127
+ typename WriteBarrierPolicy>
128
+ struct IsSubclassOfBasicMemberTemplate {
129
+ private:
130
+ template <typename T, typename CheckingPolicy, typename StorageType>
131
+ static std::true_type SubclassCheck(
132
+ const BasicMember<T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy,
133
+ StorageType>*);
134
+ static std::false_type SubclassCheck(...);
135
+
136
+ public:
137
+ static constexpr bool value = decltype(SubclassCheck(
138
+ std::declval<std::decay_t<BasicMemberCandidate>*>()))::value;
139
+ };
140
+
141
+ template <typename T,
142
+ bool = IsSubclassOfBasicMemberTemplate<
143
+ T, StrongMemberTag, DijkstraWriteBarrierPolicy>::value>
144
+ struct IsMemberType : std::false_type {};
145
+
146
+ template <typename T>
147
+ struct IsMemberType<T, true> : std::true_type {};
148
+
149
+ template <typename T, bool = IsSubclassOfBasicMemberTemplate<
150
+ T, WeakMemberTag, DijkstraWriteBarrierPolicy>::value>
151
+ struct IsWeakMemberType : std::false_type {};
152
+
153
+ template <typename T>
154
+ struct IsWeakMemberType<T, true> : std::true_type {};
155
+
156
+ template <typename T, bool = IsSubclassOfBasicMemberTemplate<
157
+ T, UntracedMemberTag, NoWriteBarrierPolicy>::value>
158
+ struct IsUntracedMemberType : std::false_type {};
159
+
160
+ template <typename T>
161
+ struct IsUntracedMemberType<T, true> : std::true_type {};
162
+
163
+ template <typename T>
164
+ struct IsComplete {
165
+ private:
166
+ template <typename U, size_t = sizeof(U)>
167
+ static std::true_type IsSizeOfKnown(U*);
168
+ static std::false_type IsSizeOfKnown(...);
169
+
170
+ public:
171
+ static constexpr bool value =
172
+ decltype(IsSizeOfKnown(std::declval<T*>()))::value;
173
+ };
174
+
175
+ template <typename T, typename U>
176
+ constexpr bool IsDecayedSameV =
177
+ std::is_same_v<std::decay_t<T>, std::decay_t<U>>;
178
+
179
+ template <typename B, typename D>
180
+ constexpr bool IsStrictlyBaseOfV =
181
+ std::is_base_of_v<std::decay_t<B>, std::decay_t<D>> &&
182
+ !IsDecayedSameV<B, D>;
183
+
184
+ template <typename T>
185
+ constexpr bool IsAnyMemberTypeV = false;
186
+
187
+ template <typename T, typename WeaknessTag, typename WriteBarrierPolicy,
188
+ typename CheckingPolicy, typename StorageType>
189
+ constexpr bool IsAnyMemberTypeV<internal::BasicMember<
190
+ T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy, StorageType>> = true;
191
+
192
+ } // namespace internal
193
+
194
+ /**
195
+ * Value is true for types that inherit from `GarbageCollectedMixin` but not
196
+ * `GarbageCollected<T>` (i.e., they are free mixins), and false otherwise.
197
+ */
198
+ template <typename T>
199
+ constexpr bool IsGarbageCollectedMixinTypeV =
200
+ internal::IsGarbageCollectedMixinType<T>::value;
201
+
202
+ /**
203
+ * Value is true for types that inherit from `GarbageCollected<T>`, and false
204
+ * otherwise.
205
+ */
206
+ template <typename T>
207
+ constexpr bool IsGarbageCollectedTypeV =
208
+ internal::IsGarbageCollectedType<T>::value;
209
+
210
+ /**
211
+ * Value is true for types that inherit from either `GarbageCollected<T>` or
212
+ * `GarbageCollectedMixin`, and false otherwise.
213
+ */
214
+ template <typename T>
215
+ constexpr bool IsGarbageCollectedOrMixinTypeV =
216
+ internal::IsGarbageCollectedOrMixinType<T>::value;
217
+
218
+ /**
219
+ * Value is true for types that inherit from `GarbageCollected<T>` and
220
+ * `GarbageCollectedMixin`, and false otherwise.
221
+ */
222
+ template <typename T>
223
+ constexpr bool IsGarbageCollectedWithMixinTypeV =
224
+ internal::IsGarbageCollectedWithMixinType<T>::value;
225
+
226
+ /**
227
+ * Value is true for types of type `Member<T>`, and false otherwise.
228
+ */
229
+ template <typename T>
230
+ constexpr bool IsMemberTypeV = internal::IsMemberType<T>::value;
231
+
232
+ /**
233
+ * Value is true for types of type `UntracedMember<T>`, and false otherwise.
234
+ */
235
+ template <typename T>
236
+ constexpr bool IsUntracedMemberTypeV = internal::IsUntracedMemberType<T>::value;
237
+
238
+ /**
239
+ * Value is true for types of type `WeakMember<T>`, and false otherwise.
240
+ */
241
+ template <typename T>
242
+ constexpr bool IsWeakMemberTypeV = internal::IsWeakMemberType<T>::value;
243
+
244
+ /**
245
+ * Value is true for types that are considered weak references, and false
246
+ * otherwise.
247
+ */
248
+ template <typename T>
249
+ constexpr bool IsWeakV = internal::IsWeak<T>::value;
250
+
251
+ /**
252
+ * Value is true for types that are complete, and false otherwise.
253
+ */
254
+ template <typename T>
255
+ constexpr bool IsCompleteV = internal::IsComplete<T>::value;
256
+
257
+ /**
258
+ * Value is true for member types `Member<T>` and `WeakMember<T>`.
259
+ */
260
+ template <typename T>
261
+ constexpr bool IsMemberOrWeakMemberTypeV =
262
+ IsMemberTypeV<T> || IsWeakMemberTypeV<T>;
263
+
264
+ /**
265
+ * Value is true for any member type.
266
+ */
267
+ template <typename T>
268
+ constexpr bool IsAnyMemberTypeV = internal::IsAnyMemberTypeV<std::decay_t<T>>;
269
+
270
+ } // namespace cppgc
271
+
272
+ #endif // INCLUDE_CPPGC_TYPE_TRAITS_H_