/home/techb158/.nvm/versions/node/v22.6.0/include/node/cppgc
NameSizeModeActions
internal/-0755rm
allocation.h118890644editdlrm
common.h6430644editdlrm
cross-thread-persistent.h151700644editdlrm
custom-space.h24540644editdlrm
default-platform.h22300644editdlrm
ephemeron-pair.h8040644editdlrm
explicit-management.h33700644editdlrm
garbage-collected.h31830644editdlrm
heap-consistency.h120210644editdlrm
heap-handle.h12890644editdlrm
heap-state.h26320644editdlrm
heap-statistics.h39820644editdlrm
heap.h58340644editdlrm
liveness-broker.h23960644editdlrm
macros.h13450644editdlrm
member.h241140644editdlrm
name-provider.h20340644editdlrm
object-size-trait.h16430644editdlrm
persistent.h139370644editdlrm
platform.h60420644editdlrm
prefinalizer.h29440644editdlrm
process-heap-statistics.h10090644editdlrm
sentinel-pointer.h12080644editdlrm
source-location.h4140644editdlrm
testing.h30330644editdlrm
trace-trait.h34790644editdlrm
type-traits.h86560644editdlrm
visitor.h185160644editdlrm
Edit: /home/techb158/.nvm/versions/node/v22.6.0/include/node/cppgc/ephemeron-pair.h (804B)
// 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_EPHEMERON_PAIR_H_ #define INCLUDE_CPPGC_EPHEMERON_PAIR_H_ #include "cppgc/liveness-broker.h" #include "cppgc/member.h" namespace cppgc { /** * An ephemeron pair is used to conditionally retain an object. * The `value` will be kept alive only if the `key` is alive. */ template struct EphemeronPair { EphemeronPair(K* k, V* v) : key(k), value(v) {} WeakMember key; Member value; void ClearValueIfKeyIsDead(const LivenessBroker& broker) { if (!broker.IsHeapObjectAlive(key)) value = nullptr; } }; } // namespace cppgc #endif // INCLUDE_CPPGC_EPHEMERON_PAIR_H_