Sha256: 582e8da25f30f36c87595769f9302a9e8cb1de0e6a503ed9b455c8aaff444d76
Contents?: true
Size: 935 Bytes
Versions: 18
Compression:
Stored size: 935 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_CPPGC_SENTINEL_POINTER_H_ #define INCLUDE_CPPGC_SENTINEL_POINTER_H_ #include <cstdint> 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 { static constexpr intptr_t kSentinelValue = 0b10; 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_
Version data entries
18 entries across 18 versions & 1 rubygems