HEX
Server: LiteSpeed
System: Linux srv271.doctorhoster.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64
User: lcipakco (2751)
PHP: 8.3.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, escapeshellcmd, apache_child_terminate, virtual, mb_send_mail, mail, eval, phpinfo
Upload Files
File: //opt/alt/alt-nodejs14/root/usr/include/node/cppgc/internal/prefinalizer-handler.h
// Copyright 2020 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_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_
#define INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_

#include "cppgc/heap.h"
#include "cppgc/liveness-broker.h"

namespace cppgc {
namespace internal {

class V8_EXPORT PreFinalizerRegistrationDispatcher final {
 public:
  using PreFinalizerCallback = bool (*)(const LivenessBroker&, void*);
  struct PreFinalizer {
    void* object_;
    PreFinalizerCallback callback_;

    bool operator==(const PreFinalizer& other);
  };

  static void RegisterPrefinalizer(cppgc::Heap* heap,
                                   PreFinalizer prefinalzier);
};

}  // namespace internal
}  // namespace cppgc

#endif  // INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_