Objectively
Ultra-lightweight object oriented framework for GNU C.
Loading...
Searching...
No Matches
Data.h File Reference

Data buffers. More...

Go to the source code of this file.

Data Structures

struct  Data
 Data buffers. More...
 

Typedefs

typedef void(* DataDestructor) (ident mem)
 Data may optionally reference destructor to be called on dealloc.
 

Functions

OBJECTIVELY_EXPORT Class_Data (void)
 

Detailed Description

Data buffers.

Definition in file Data.h.

Typedef Documentation

◆ DataDestructor

typedef void(* DataDestructor) (ident mem)

Data may optionally reference destructor to be called on dealloc.

Definition at line 43 of file Data.h.

Function Documentation

◆ _Data()

OBJECTIVELY_EXPORT Class * _Data ( void  )

Definition at line 419 of file Data.c.

419 {
420 static Class *clazz;
421 static Once once;
422
423 do_once(&once, {
424 clazz = _initialize(&(const ClassDef) {
425 .name = "Data",
426 .superclass = _Object(),
427 .instanceSize = sizeof(Data),
428 .interfaceOffset = offsetof(Data, interface),
429 .interfaceSize = sizeof(DataInterface),
431 });
432 });
433
434 return clazz;
435}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition Class.c:86
static void initialize(Class *clazz)
Definition Data.c:389
Class * _Object(void)
Definition Object.c:136
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
Data buffers.
Definition Data.h:50