Sha256: 234042362502bc29d2e5fa652b3ca50aeff60bbacbb045a3e9e4ca10b3bb59fd

Contents?: true

Size: 924 Bytes

Versions: 100

Compression:

Stored size: 924 Bytes

Contents

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef INCLUDE_V8_EXTERNAL_H_
#define INCLUDE_V8_EXTERNAL_H_

#include "v8-value.h"  // NOLINT(build/include_directory)
#include "v8config.h"  // NOLINT(build/include_directory)

namespace v8 {

class Isolate;

/**
 * A JavaScript value that wraps a C++ void*. This type of value is mainly used
 * to associate C++ data structures with JavaScript objects.
 */
class V8_EXPORT External : public Value {
 public:
  static Local<External> New(Isolate* isolate, void* value);
  V8_INLINE static External* Cast(Value* value) {
#ifdef V8_ENABLE_CHECKS
    CheckCast(value);
#endif
    return static_cast<External*>(value);
  }

  void* Value() const;

 private:
  static void CheckCast(v8::Value* obj);
};

}  // namespace v8

#endif  // INCLUDE_V8_EXTERNAL_H_

Version data entries

100 entries across 99 versions & 2 rubygems

Version Path
libv8-node-23.6.1.0-x86_64-linux-musl vendor/v8/include/v8-external.h
libv8-node-23.6.1.0-x86_64-linux vendor/v8/include/v8-external.h
libv8-node-23.6.1.0-x86_64-darwin vendor/v8/include/v8-external.h
libv8-node-23.6.1.0-arm64-darwin vendor/v8/include/v8-external.h
libv8-node-23.6.1.0-aarch64-linux vendor/v8/include/v8-external.h
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/libv8-node-18.19.0.0-x86_64-darwin/vendor/v8/include/v8-external.h
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/libv8-node-18.19.0.0-x86_64-darwin/vendor/v8/include/v8-external.h
libv8-node-22.7.0.4-arm64-darwin vendor/v8/include/v8-external.h
libv8-node-22.7.0.4-x86_64-linux-musl vendor/v8/include/v8-external.h
libv8-node-22.7.0.4-x86_64-linux vendor/v8/include/v8-external.h
libv8-node-22.7.0.4-x86_64-darwin vendor/v8/include/v8-external.h
libv8-node-22.7.0.4-aarch64-linux vendor/v8/include/v8-external.h
libv8-node-22.7.0.3-x86_64-linux-musl vendor/v8/include/v8-external.h
libv8-node-22.7.0.3-x86_64-linux vendor/v8/include/v8-external.h
libv8-node-22.7.0.3-arm64-darwin vendor/v8/include/v8-external.h
libv8-node-22.7.0.3-aarch64-linux vendor/v8/include/v8-external.h
libv8-node-22.7.0.2-x86_64-linux-musl vendor/v8/include/v8-external.h
libv8-node-22.7.0.2-x86_64-linux vendor/v8/include/v8-external.h
libv8-node-22.7.0.2-x86_64-darwin vendor/v8/include/v8-external.h
libv8-node-22.7.0.2-arm64-darwin vendor/v8/include/v8-external.h