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

A minimal JSONPath implementation. More...

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

Go to the source code of this file.

Data Structures

struct  JSONPath
 A minimal JSONPath implementation. More...
 

Functions

OBJECTIVELY_EXPORT Class_JSONPath (void)
 

Detailed Description

A minimal JSONPath implementation.

Definition in file JSONPath.h.

Function Documentation

◆ _JSONPath()

OBJECTIVELY_EXPORT Class * _JSONPath ( void  )

Definition at line 118 of file JSONPath.c.

118 {
119 static Class *clazz;
120 static Once once;
121
122 do_once(&once, {
123 clazz = _initialize(&(const ClassDef) {
124 .name = "JSONPath",
125 .superclass = _Object(),
126 .instanceSize = sizeof(JSONPath),
127 .interfaceOffset = offsetof(JSONPath, interface),
128 .interfaceSize = sizeof(JSONPathInterface),
130 .destroy = destroy,
131 });
132 });
133
134 return clazz;
135}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition: Class.c:91
static void destroy(Class *clazz)
Definition: JSONPath.c:109
static void initialize(Class *clazz)
Definition: JSONPath.c:99
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
A minimal JSONPath implementation.
Definition: JSONPath.h:42
Class * _Object(void)
The Object archetype.
Definition: Object.c:136