File Explorer

/proc/self/root/var/lang/include/node/cppgc

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

sentinel-pointer.h1.2 KB · 40 lines
// 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_CPPGC_SENTINEL_POINTER_H_#define INCLUDE_CPPGC_SENTINEL_POINTER_H_ #include <cstdint> #include "cppgc/internal/api-constants.h" namespace cppgc {namespace internal { // Special tag type used to denote some sentinel member. The semantics of the// sentinel is defined by the embedder.struct SentinelPointer {#if defined(CPPGC_POINTER_COMPRESSION)  static constexpr intptr_t kSentinelValue =      1 << api_constants::kPointerCompressionShift;#else   // !defined(CPPGC_POINTER_COMPRESSION)  static constexpr intptr_t kSentinelValue = 0b10;#endif  // !defined(CPPGC_POINTER_COMPRESSION)  template <typename T>  operator T*() const {    return reinterpret_cast<T*>(kSentinelValue);  }  // Hidden friends.  friend bool operator==(SentinelPointer, SentinelPointer) { return true; }  friend bool operator!=(SentinelPointer, SentinelPointer) { return false; }}; }  // namespace internal constexpr internal::SentinelPointer kSentinelPointer; }  // namespace cppgc #endif  // INCLUDE_CPPGC_SENTINEL_POINTER_H_