CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
compat::detail::ValueRefCount Struct Reference

#include "lib/CppInterOp/Compatibility.h"

Collaboration diagram for compat::detail::ValueRefCount:
Collaboration graph
[legend]

Public Member Functions

 ValueRefCount (const Value &V) noexcept
 

Static Public Member Functions

static void retain (void *p) noexcept
 
static void release (void *p) noexcept
 

Public Attributes

std::atomic< unsigned > rc
 
Value v
 

Static Public Attributes

static constexpr Cpp::Box::ObjectOps Ops {&retain, &release}
 

Detailed Description

Definition at line 735 of file Compatibility.h.

Constructor & Destructor Documentation

◆ ValueRefCount()

compat::detail::ValueRefCount::ValueRefCount ( const Value V)
inlineexplicitnoexcept

Definition at line 738 of file Compatibility.h.

Member Function Documentation

◆ release()

static void compat::detail::ValueRefCount::release ( void *  p)
inlinestaticnoexcept

Definition at line 743 of file Compatibility.h.

References rc.

◆ retain()

static void compat::detail::ValueRefCount::retain ( void *  p)
inlinestaticnoexcept

Definition at line 740 of file Compatibility.h.

References rc.

Member Data Documentation

◆ Ops

constexpr Cpp::Box::ObjectOps compat::detail::ValueRefCount::Ops {&retain, &release}
staticconstexpr

Definition at line 748 of file Compatibility.h.

Referenced by compat::MakeValueBox().

◆ rc

std::atomic<unsigned> compat::detail::ValueRefCount::rc

Definition at line 736 of file Compatibility.h.

Referenced by release(), and retain().

◆ v

Value compat::detail::ValueRefCount::v

Definition at line 737 of file Compatibility.h.


The documentation for this struct was generated from the following file: