ssm  0.0.2
Runtime Library for the Sparse Synchronous Model
ssm_adt1 Struct Reference

The struct template of a heap-allocated ADT object. More...

#include <ssm.h>

+ Collaboration diagram for ssm_adt1:

Data Fields

struct ssm_mm mm
 Variant-flavored memory management header. More...
 
ssm_value_t fields [1]
 Array of ADT object fields. More...
 

Detailed Description

The struct template of a heap-allocated ADT object.

This ADT struct is meant to be used as a template for performing other ADT-related pointer arithmetic; no instance of this should ever be declared.

Though this struct's fields is only declared with 1 ssm_value_t, actual heap-allocated ADT objects may have more fields. For instance, an object with 3 fields might look like:

struct ssm_adt3 {
struct ssm_mm mm;
};
ssm_value_t fields[1]
Array of ADT object fields.
Definition: ssm.h:495
struct ssm_mm mm
Variant-flavored memory management header.
Definition: ssm.h:494
The memory management metadata "header" for heap-allocated objects.
Definition: ssm.h:254
SSM values are either "packed" values or heap-allocated.
Definition: ssm.h:232

Note that the memory layout of all ADTs is the same save for the length of the fields, so we use this struct definition as the "base case" of ADT object lengths.

Definition at line 493 of file ssm.h.

Field Documentation

◆ mm

struct ssm_mm mm

Variant-flavored memory management header.

Definition at line 410 of file ssm.h.

◆ fields

ssm_value_t fields[1]

Array of ADT object fields.

Definition at line 495 of file ssm.h.


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