libsheepy
Data Structures | Macros | Typedefs | Functions
libsheepyCClassTemplate.h File Reference

Go to the source code of this file.

Data Structures

struct  classTemplateFunctionst
 
struct  classTemplate
 class More...
 

Macros

#define cClassTemplate(self)   ( (classTemplatet*) self )
 
#define CLASSTEMPLATEFUNCTIONST   /* TODO ADD METHODS AFTER <finishClassTemplateFt finish;> HERE */
 class functions allocated once for all objects More...
 
#define createClassTemplate(obj)   ;classTemplatet obj; initiateClassTemplate(&obj)
 
#define createAllocateClassTemplate(obj)   ;classTemplatet *obj; initiateAllocateClassTemplate(&obj)
 

Typedefs

typedef struct classTemplate classTemplatet
 
typedef void(* freeClassTemplateFt) (classTemplatet *self)
 
typedef void(* terminateClassTemplateFt) (classTemplatet **self)
 
typedef char *(* toStringClassTemplateFt) (classTemplatet *self)
 
typedef classTemplatet *(* duplicateClassTemplateFt) (classTemplatet *self)
 
typedef void(* smashClassTemplateFt) (classTemplatet **self)
 
typedef void(* finishClassTemplateFt) (classTemplatet **self)
 free classTemplate More...
 

Functions

void initiateClassTemplate (classTemplatet *self)
 
void initiateAllocateClassTemplate (classTemplatet **self)
 
void finalizeClassTemplate (void)
 
void registerMethodsClassTemplate (classTemplateFunctionst *f)
 
classTemplatetallocClassTemplate ()
 

Macro Definition Documentation

◆ cClassTemplate

#define cClassTemplate (   self)    ( (classTemplatet*) self )

Definition at line 6 of file libsheepyCClassTemplate.h.

◆ CLASSTEMPLATEFUNCTIONST

#define CLASSTEMPLATEFUNCTIONST   /* TODO ADD METHODS AFTER <finishClassTemplateFt finish;> HERE */

class functions allocated once for all objects

freed with finalizeClassTemplate or finalizeLibsheepy use this define in child classes and add the new function after this class functions

in this define, add the methods after <finishClassTemplateFt finish;>

Example: #define RINGFUNCTIONST \ CLASSTEMPLATEFUNCTIONST; \ setSizeRingFt setSize

Definition at line 36 of file libsheepyCClassTemplate.h.

◆ createClassTemplate

#define createClassTemplate (   obj)    ;classTemplatet obj; initiateClassTemplate(&obj)

Definition at line 59 of file libsheepyCClassTemplate.h.

◆ createAllocateClassTemplate

#define createAllocateClassTemplate (   obj)    ;classTemplatet *obj; initiateAllocateClassTemplate(&obj)

Definition at line 60 of file libsheepyCClassTemplate.h.

Typedef Documentation

◆ classTemplatet

typedef struct classTemplate classTemplatet

Definition at line 3 of file libsheepyCClassTemplate.h.

◆ freeClassTemplateFt

typedef void(* freeClassTemplateFt) (classTemplatet *self)

Definition at line 8 of file libsheepyCClassTemplate.h.

◆ terminateClassTemplateFt

typedef void(* terminateClassTemplateFt) (classTemplatet **self)

Definition at line 9 of file libsheepyCClassTemplate.h.

◆ toStringClassTemplateFt

typedef char*(* toStringClassTemplateFt) (classTemplatet *self)

Definition at line 10 of file libsheepyCClassTemplate.h.

◆ duplicateClassTemplateFt

typedef classTemplatet*(* duplicateClassTemplateFt) (classTemplatet *self)

Definition at line 11 of file libsheepyCClassTemplate.h.

◆ smashClassTemplateFt

typedef void(* smashClassTemplateFt) (classTemplatet **self)

Definition at line 12 of file libsheepyCClassTemplate.h.

◆ finishClassTemplateFt

typedef void(* finishClassTemplateFt) (classTemplatet **self)

free classTemplate

Definition at line 17 of file libsheepyCClassTemplate.h.

Function Documentation

◆ initiateClassTemplate()

void initiateClassTemplate ( classTemplatet self)

◆ initiateAllocateClassTemplate()

void initiateAllocateClassTemplate ( classTemplatet **  self)

◆ finalizeClassTemplate()

void finalizeClassTemplate ( void  )

◆ registerMethodsClassTemplate()

void registerMethodsClassTemplate ( classTemplateFunctionst f)

◆ allocClassTemplate()

classTemplatet* allocClassTemplate ( )