Objectively 1.0.0
Ultra-lightweight object oriented framework for GNU C.
Data Structures | Functions
IndexSet.h File Reference

Immutable collections of unique index values. More...

#include <Objectively/Object.h>

Go to the source code of this file.

Data Structures

struct  IndexSet
 Immutable collections of unique index values. More...
 

Functions

OBJECTIVELY_EXPORT Class_IndexSet (void)
 

Detailed Description

Immutable collections of unique index values.

Definition in file IndexSet.h.

Function Documentation

◆ _IndexSet()

OBJECTIVELY_EXPORT Class * _IndexSet ( void  )

Definition at line 218 of file IndexSet.c.

218 {
219 static Class *clazz;
220 static Once once;
221
222 do_once(&once, {
223 clazz = _initialize(&(const ClassDef) {
224 .name = "IndexSet",
225 .superclass = _Object(),
226 .instanceSize = sizeof(IndexSet),
227 .interfaceOffset = offsetof(IndexSet, interface),
228 .interfaceSize = sizeof(IndexSetInterface),
230 });
231 });
232
233 return clazz;
234}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition: Class.c:91
static void initialize(Class *clazz)
Definition: IndexSet.c:201
long Once
The Once type.
Definition: Once.h:37
#define do_once(once, block)
Executes the given block at most one time.
Definition: Once.h:43
ClassDefs are passed to _initialize via an archetype to initialize a Class.
Definition: Class.h:41
The runtime representation of a Class.
Definition: Class.h:95
Immutable collections of unique index values.
Definition: IndexSet.h:41
Class * _Object(void)
The Object archetype.
Definition: Object.c:136