a7a0ff10af
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I41c4c18dd3f70ec255e9d2769ffd25a38f6f2784 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862764 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74307}
33 lines
934 B
C++
33 lines
934 B
C++
// 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 {
|
|
template <typename T>
|
|
operator T*() const {
|
|
static constexpr intptr_t kSentinelValue = 1;
|
|
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_
|