20template <
typename Derived>
26#if !defined(_MSC_VER) && (defined(__llvm__) || __GNUC__ > 7)
28 __attribute__((no_sanitize(
"vptr")))
31 if (!std::is_constant_evaluated()) {
34 static_cast<Derived*
>(&rhs));
38#if !defined(_MSC_VER) && (defined(__llvm__) || __GNUC__ > 7)
40 __attribute__((no_sanitize(
"vptr")))
44 if (!std::is_constant_evaluated()) {
47 static_cast<Derived*
>(&rhs));
56 if (!std::is_constant_evaluated()) {
A helper class for use with objects that add themselves to SendableRegistry.
Definition SendableHelper.h:21
constexpr SendableHelper & operator=(SendableHelper &&rhs)
Definition SendableHelper.h:43
constexpr SendableHelper & operator=(const SendableHelper &rhs)=default
constexpr SendableHelper()=default
constexpr SendableHelper(SendableHelper &&rhs)
Definition SendableHelper.h:30
constexpr ~SendableHelper()
Definition SendableHelper.h:55
constexpr SendableHelper(const SendableHelper &rhs)=default
static void Move(Sendable *to, Sendable *from)
Moves an object in the registry (for use in move constructors/assignments).
static bool Remove(Sendable *sendable)
Removes an object from the registry.
Foonathan namespace.
Definition ntcore_cpp.h:26