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

Immutable sets. More...

#include <Objectively/Array.h>
#include <Objectively/Object.h>

Go to the source code of this file.

Data Structures

struct  Set
 Immutable sets. More...
 

Typedefs

typedef void(* SetEnumerator) (const Set *set, ident obj, ident data)
 A function pointer for Set enumeration (iteration). More...
 

Functions

OBJECTIVELY_EXPORT Class_Set (void)
 

Detailed Description

Immutable sets.

Definition in file Set.h.

Typedef Documentation

◆ SetEnumerator

typedef void(* SetEnumerator) (const Set *set, ident obj, ident data)

A function pointer for Set enumeration (iteration).

Parameters
setThe Set.
objThe Object for the current iteration.
dataUser data.

Definition at line 48 of file Set.h.

Function Documentation

◆ _Set()

OBJECTIVELY_EXPORT Class * _Set ( void  )

Definition at line 454 of file Set.c.

454 {
455 static Class *clazz;
456 static Once once;
457
458 do_once(&once, {
459 clazz = _initialize(&(const ClassDef) {
460 .name = "Set",
461 .superclass = _Object(),
462 .instanceSize = sizeof(Set),
463 .interfaceOffset = offsetof(Set, interface),
464 .interfaceSize = sizeof(SetInterface),
466 });
467 });
468
469 return clazz;
470}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition: Class.c:91
static void initialize(Class *clazz)
Definition: Set.c:426
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
Class * _Object(void)
The Object archetype.
Definition: Object.c:136
Immutable sets.
Definition: Set.h:55