|
CppInterOp
C++ Language Interoperability Layer
|
Operations vtable for a K_PtrOrObj payload. More...
#include "include/CppInterOp/Box.h"

Public Attributes | |
| void(* | retain )(void *) noexcept |
| Increment the payload's refcount. | |
| void(* | release )(void *) noexcept |
| Decrement the payload's refcount; on the last drop, run the payload's destructor and free storage. | |
Operations vtable for a K_PtrOrObj payload.
Defined once per concrete payload type in the TU that knows the type (see Evaluate's kCompatValueOps in CppInterOp.cpp). The Box stores a pointer to this const-static struct; the storage slot is 2 pointers (16 bytes).
retain/release implement intrusive ref-counting: AdoptObject installs the payload with refcount 1; copy ctor / copy assign call retain; destructor calls release; the producer's release fires the payload's destructor when the last ref drops.
|
noexcept |
|
noexcept |