Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/node/cppgc/sentinel-pointer.h
$ cat -n /usr/include/node/cppgc/sentinel-pointer.h 1 // Copyright 2021 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef INCLUDE_CPPGC_SENTINEL_POINTER_H_ 6 #define INCLUDE_CPPGC_SENTINEL_POINTER_H_ 7 8 #include
9 10 #include "cppgc/internal/api-constants.h" 11 12 namespace cppgc { 13 namespace internal { 14 15 // Special tag type used to denote some sentinel member. The semantics of the 16 // sentinel is defined by the embedder. 17 struct SentinelPointer { 18 #if defined(CPPGC_POINTER_COMPRESSION) 19 static constexpr intptr_t kSentinelValue = 20 1 << api_constants::kPointerCompressionShift; 21 #else // !defined(CPPGC_POINTER_COMPRESSION) 22 static constexpr intptr_t kSentinelValue = 0b10; 23 #endif // !defined(CPPGC_POINTER_COMPRESSION) 24 template
25 operator T*() const { 26 return reinterpret_cast
(kSentinelValue); 27 } 28 // Hidden friends. 29 friend bool operator==(SentinelPointer, SentinelPointer) { return true; } 30 friend bool operator!=(SentinelPointer, SentinelPointer) { return false; } 31 }; 32 33 } // namespace internal 34 35 constexpr internal::SentinelPointer kSentinelPointer; 36 37 } // namespace cppgc 38 39 #endif // INCLUDE_CPPGC_SENTINEL_POINTER_H_
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2026 MyWebUniversity.com ™