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

Object is the root Class of The Objectively Class hierarchy. More...

#include <Objectively/Class.h>
#include <Objectively/Types.h>

Go to the source code of this file.

Data Structures

struct  Object
 Object is the root Class of The Objectively Class hierarchy. More...
 

Functions

OBJECTIVELY_EXPORT Class_Object (void)
 

Detailed Description

Object is the root Class of The Objectively Class hierarchy.

Definition in file Object.h.

Function Documentation

◆ _Object()

OBJECTIVELY_EXPORT Class * _Object ( void  )

Definition at line 136 of file Object.c.

136 {
137 static Class *clazz;
138 static Once once;
139
140 do_once(&once, {
141 clazz = _initialize(&(const ClassDef) {
142 .name = "Object",
143 .instanceSize = sizeof(Object),
144 .interfaceOffset = offsetof(Object, interface),
145 .interfaceSize = sizeof(ObjectInterface),
147 });
148 });
149
150 return clazz;
151}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition: Class.c:91
static void initialize(Class *clazz)
Definition: Object.c:121
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
Object is the root Class of The Objectively Class hierarchy.
Definition: Object.h:46