CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Public Attributes | List of all members
Cpp::ErrorSlice Struct Reference

Body of a slice-encoded error: drained diagnostics, producer attribution, refcount. More...

#include "lib/CppInterOp/ErrorInternal.h"

Collaboration diagram for Cpp::ErrorSlice:
Collaboration graph
[legend]

Public Attributes

std::atomic< uint32_t > Refcount {0}
 
InterpreterInfoOwner = nullptr
 
Status Code = Status::Ok
 
std::deque< StoredDiagViewDiagnostics
 
const char * Producer = nullptr
 
const char * ProducerSignature = nullptr
 

Detailed Description

Body of a slice-encoded error: drained diagnostics, producer attribution, refcount.

alignas(16) keeps the low bits of an ErrorSlice* clear so ErrorRef's tag bit stays unambiguous.

Definition at line 47 of file ErrorInternal.h.

Member Data Documentation

◆ Code

Status Cpp::ErrorSlice::Code = Status::Ok

Definition at line 52 of file ErrorInternal.h.

Referenced by Cpp::makeError().

◆ Diagnostics

std::deque<StoredDiagView> Cpp::ErrorSlice::Diagnostics

Definition at line 56 of file ErrorInternal.h.

Referenced by Cpp::makeError().

◆ Owner

InterpreterInfo* Cpp::ErrorSlice::Owner = nullptr

Definition at line 51 of file ErrorInternal.h.

◆ Producer

const char* Cpp::ErrorSlice::Producer = nullptr

Definition at line 59 of file ErrorInternal.h.

Referenced by Cpp::makeError().

◆ ProducerSignature

const char* Cpp::ErrorSlice::ProducerSignature = nullptr

Definition at line 61 of file ErrorInternal.h.

Referenced by Cpp::makeError().

◆ Refcount

std::atomic<uint32_t> Cpp::ErrorSlice::Refcount {0}
mutable

Definition at line 50 of file ErrorInternal.h.


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