ktId_declare
This commit is contained in:
parent
cbcd48ae66
commit
d5a60953c3
@ -13,35 +13,35 @@ Autoarr_define(int32)
|
||||
Autoarr_define(uint64)
|
||||
Autoarr_define(int64)
|
||||
|
||||
ktId_define(ktId_AutoarrChar);
|
||||
ktId_define(ktId_AutoarrBool);
|
||||
ktId_define(ktId_AutoarrFloat32);
|
||||
ktId_define(ktId_AutoarrFloat64);
|
||||
ktId_define(ktId_AutoarrInt8);
|
||||
ktId_define(ktId_AutoarrUInt8);
|
||||
ktId_define(ktId_AutoarrInt16);
|
||||
ktId_define(ktId_AutoarrUInt16);
|
||||
ktId_define(ktId_AutoarrInt32);
|
||||
ktId_define(ktId_AutoarrUInt32);
|
||||
ktId_define(ktId_AutoarrInt64);
|
||||
ktId_define(ktId_AutoarrUInt64);
|
||||
ktId_define(AutoarrChar);
|
||||
ktId_define(AutoarrBool);
|
||||
ktId_define(AutoarrFloat32);
|
||||
ktId_define(AutoarrFloat64);
|
||||
ktId_define(AutoarrInt8);
|
||||
ktId_define(AutoarrUInt8);
|
||||
ktId_define(AutoarrInt16);
|
||||
ktId_define(AutoarrUInt16);
|
||||
ktId_define(AutoarrInt32);
|
||||
ktId_define(AutoarrUInt32);
|
||||
ktId_define(AutoarrInt64);
|
||||
ktId_define(AutoarrUInt64);
|
||||
|
||||
ktId_define(ktId_AutoarrCharPtr);
|
||||
ktId_define(ktId_AutoarrBoolPtr);
|
||||
ktId_define(ktId_AutoarrFloat32Ptr);
|
||||
ktId_define(ktId_AutoarrFloat64Ptr);
|
||||
ktId_define(ktId_AutoarrInt8Ptr);
|
||||
ktId_define(ktId_AutoarrUInt8Ptr);
|
||||
ktId_define(ktId_AutoarrInt16Ptr);
|
||||
ktId_define(ktId_AutoarrUInt16Ptr);
|
||||
ktId_define(ktId_AutoarrInt32Ptr);
|
||||
ktId_define(ktId_AutoarrUInt32Ptr);
|
||||
ktId_define(ktId_AutoarrInt64Ptr);
|
||||
ktId_define(ktId_AutoarrUInt64Ptr);
|
||||
ktId_define(AutoarrCharPtr);
|
||||
ktId_define(AutoarrBoolPtr);
|
||||
ktId_define(AutoarrFloat32Ptr);
|
||||
ktId_define(AutoarrFloat64Ptr);
|
||||
ktId_define(AutoarrInt8Ptr);
|
||||
ktId_define(AutoarrUInt8Ptr);
|
||||
ktId_define(AutoarrInt16Ptr);
|
||||
ktId_define(AutoarrUInt16Ptr);
|
||||
ktId_define(AutoarrInt32Ptr);
|
||||
ktId_define(AutoarrUInt32Ptr);
|
||||
ktId_define(AutoarrInt64Ptr);
|
||||
ktId_define(AutoarrUInt64Ptr);
|
||||
|
||||
Autoarr_define(Unitype)
|
||||
ktId_define(ktId_AutoarrUnitype);
|
||||
ktId_define(ktId_AutoarrUnitypePtr);
|
||||
ktId_define(AutoarrUnitype);
|
||||
ktId_define(AutoarrUnitypePtr);
|
||||
|
||||
// right func to clear array of unitype values
|
||||
void __Autoarr_free_Unitype_(Autoarr(Unitype)* ar, bool freePtr){
|
||||
|
||||
@ -20,35 +20,35 @@ Autoarr_declare(uint32)
|
||||
Autoarr_declare(int64)
|
||||
Autoarr_declare(uint64)
|
||||
|
||||
ktId_declare(ktId_AutoarrChar);
|
||||
ktId_declare(ktId_AutoarrBool);
|
||||
ktId_declare(ktId_AutoarrFloat32);
|
||||
ktId_declare(ktId_AutoarrFloat64);
|
||||
ktId_declare(ktId_AutoarrInt8);
|
||||
ktId_declare(ktId_AutoarrUInt8);
|
||||
ktId_declare(ktId_AutoarrInt16);
|
||||
ktId_declare(ktId_AutoarrUInt16);
|
||||
ktId_declare(ktId_AutoarrInt32);
|
||||
ktId_declare(ktId_AutoarrUInt32);
|
||||
ktId_declare(ktId_AutoarrInt64);
|
||||
ktId_declare(ktId_AutoarrUInt64);
|
||||
ktId_declare(AutoarrChar);
|
||||
ktId_declare(AutoarrBool);
|
||||
ktId_declare(AutoarrFloat32);
|
||||
ktId_declare(AutoarrFloat64);
|
||||
ktId_declare(AutoarrInt8);
|
||||
ktId_declare(AutoarrUInt8);
|
||||
ktId_declare(AutoarrInt16);
|
||||
ktId_declare(AutoarrUInt16);
|
||||
ktId_declare(AutoarrInt32);
|
||||
ktId_declare(AutoarrUInt32);
|
||||
ktId_declare(AutoarrInt64);
|
||||
ktId_declare(AutoarrUInt64);
|
||||
|
||||
ktId_declare(ktId_AutoarrCharPtr);
|
||||
ktId_declare(ktId_AutoarrBoolPtr);
|
||||
ktId_declare(ktId_AutoarrFloat32Ptr);
|
||||
ktId_declare(ktId_AutoarrFloat64Ptr);
|
||||
ktId_declare(ktId_AutoarrInt8Ptr);
|
||||
ktId_declare(ktId_AutoarrUInt8Ptr);
|
||||
ktId_declare(ktId_AutoarrInt16Ptr);
|
||||
ktId_declare(ktId_AutoarrUInt16Ptr);
|
||||
ktId_declare(ktId_AutoarrInt32Ptr);
|
||||
ktId_declare(ktId_AutoarrUInt32Ptr);
|
||||
ktId_declare(ktId_AutoarrInt64Ptr);
|
||||
ktId_declare(ktId_AutoarrUInt64Ptr);
|
||||
ktId_declare(AutoarrCharPtr);
|
||||
ktId_declare(AutoarrBoolPtr);
|
||||
ktId_declare(AutoarrFloat32Ptr);
|
||||
ktId_declare(AutoarrFloat64Ptr);
|
||||
ktId_declare(AutoarrInt8Ptr);
|
||||
ktId_declare(AutoarrUInt8Ptr);
|
||||
ktId_declare(AutoarrInt16Ptr);
|
||||
ktId_declare(AutoarrUInt16Ptr);
|
||||
ktId_declare(AutoarrInt32Ptr);
|
||||
ktId_declare(AutoarrUInt32Ptr);
|
||||
ktId_declare(AutoarrInt64Ptr);
|
||||
ktId_declare(AutoarrUInt64Ptr);
|
||||
|
||||
Autoarr_declare(Unitype)
|
||||
ktId_declare(ktId_AutoarrUnitype);
|
||||
ktId_declare(ktId_AutoarrUnitypePtr);
|
||||
ktId_declare(AutoarrUnitype);
|
||||
ktId_declare(AutoarrUnitypePtr);
|
||||
|
||||
// this function is injected in kerep_init()
|
||||
void __Autoarr_free_Unitype_(Autoarr(Unitype)* ar, bool freePtr);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "Hashtable.h"
|
||||
|
||||
ktId_define(ktId_Hashtable);
|
||||
ktId_define(ktId_HashtablePtr);
|
||||
ktId_define(Hashtable);
|
||||
ktId_define(HashtablePtr);
|
||||
|
||||
// amount of rows
|
||||
static const uint16 HT_HEIGHTS[]={17,61,257,1021,4099,16381,65521};
|
||||
|
||||
@ -11,8 +11,8 @@ typedef struct Hashtable{
|
||||
uint8 hein; // height=HT_HEIGHTS[hein]
|
||||
Autoarr(KVPair)** rows; // Autoarr[height]
|
||||
} Hashtable;
|
||||
ktId_declare(ktId_Hashtable);
|
||||
ktId_declare(ktId_HashtablePtr);
|
||||
ktId_declare(Hashtable);
|
||||
ktId_declare(HashtablePtr);
|
||||
|
||||
Hashtable* Hashtable_create();
|
||||
void Hashtable_free(Hashtable* ht);
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
#include "KeyValuePair.h"
|
||||
|
||||
ktId_define(ktId_KVPair);
|
||||
ktId_define(ktId_KVPairPtr);
|
||||
ktId_define(KVPair);
|
||||
ktId_define(KVPairPtr);
|
||||
|
||||
Autoarr_define(KVPair)
|
||||
ktId_define(ktId_AutoarrKVPair);
|
||||
ktId_define(ktId_AutoarrKVPairPtr);
|
||||
ktId_define(AutoarrKVPair);
|
||||
ktId_define(AutoarrKVPairPtr);
|
||||
|
||||
// proper way to clear a KVP
|
||||
void KVPair_free(KVPair p){
|
||||
|
||||
@ -11,12 +11,12 @@ typedef struct KVPair{
|
||||
char* key;
|
||||
Unitype value;
|
||||
} KVPair;
|
||||
ktId_declare(ktId_KVPair);
|
||||
ktId_declare(ktId_KVPairPtr);
|
||||
ktId_declare(KVPair);
|
||||
ktId_declare(KVPairPtr);
|
||||
|
||||
Autoarr_declare(KVPair)
|
||||
ktId_declare(ktId_AutoarrKVPair);
|
||||
ktId_declare(ktId_AutoarrKVPairPtr);
|
||||
ktId_declare(AutoarrKVPair);
|
||||
ktId_declare(AutoarrKVPairPtr);
|
||||
|
||||
// proper way to clear a KVP
|
||||
void KVPair_free(KVPair p);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "SearchTree.h"
|
||||
|
||||
ktId_define(ktId_STNode);
|
||||
ktId_define(ktId_STNodePtr);
|
||||
ktId_define(STNode);
|
||||
ktId_define(STNodePtr);
|
||||
|
||||
STNode* STNode_create(){
|
||||
STNode* node=malloc(sizeof(STNode));
|
||||
|
||||
@ -11,8 +11,8 @@ typedef struct SearchTreeNode{
|
||||
struct SearchTreeNode**** branches; // *STNode[8][8][4]
|
||||
Unitype value;
|
||||
} STNode;
|
||||
ktId_declare(ktId_STNode);
|
||||
ktId_declare(ktId_STNodePtr);
|
||||
ktId_declare(STNode);
|
||||
ktId_declare(STNodePtr);
|
||||
|
||||
STNode* STNode_create();
|
||||
void STNode_free(STNode* node);
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
#include "StringBuilder.h"
|
||||
|
||||
Autoarr_define(string)
|
||||
ktId_define(ktId_AutoarrString);
|
||||
ktId_define(ktId_AutoarrStringPtr);
|
||||
ktId_define(AutoarrString);
|
||||
ktId_define(AutoarrStringPtr);
|
||||
|
||||
ktId_define(ktId_StringBuilder);
|
||||
ktId_define(ktId_StringBuilderPtr);
|
||||
ktId_define(StringBuilder);
|
||||
ktId_define(StringBuilderPtr);
|
||||
|
||||
#define BL_C 32
|
||||
#define BL_L 1024
|
||||
|
||||
@ -8,15 +8,15 @@ extern "C" {
|
||||
#include "string.h"
|
||||
|
||||
Autoarr_declare(string)
|
||||
ktId_declare(ktId_AutoarrString);
|
||||
ktId_declare(ktId_AutoarrStringPtr);
|
||||
ktId_declare(AutoarrString);
|
||||
ktId_declare(AutoarrStringPtr);
|
||||
|
||||
typedef struct StringBuilder{
|
||||
Autoarr(string)* compl_bufs;
|
||||
Autoarr(int8)* curr_buf;
|
||||
} StringBuilder;
|
||||
ktId_declare(ktId_StringBuilder);
|
||||
ktId_declare(ktId_StringBuilderPtr);
|
||||
ktId_declare(StringBuilder);
|
||||
ktId_declare(StringBuilderPtr);
|
||||
|
||||
StringBuilder* StringBuilder_create(void);
|
||||
void StringBuilder_free(StringBuilder* b);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "string.h"
|
||||
|
||||
ktId_define(ktId_string);
|
||||
ktId_define(ktId_stringPtr);
|
||||
ktId_define(string);
|
||||
ktId_define(stringPtr);
|
||||
|
||||
// copies str content to new char pointer value (adding '\0' at the end)
|
||||
char* string_extract(string str){
|
||||
|
||||
@ -12,8 +12,8 @@ typedef struct string{
|
||||
char* ptr; // char pointer
|
||||
uint32 length; // amount of chars in ptr value
|
||||
} string;
|
||||
ktId_declare(ktId_string);
|
||||
ktId_declare(ktId_stringPtr);
|
||||
ktId_declare(string);
|
||||
ktId_declare(stringPtr);
|
||||
|
||||
static const string stringNull={NULL,0};
|
||||
|
||||
|
||||
@ -9,13 +9,13 @@ Example:
|
||||
```c
|
||||
//someStruct.h
|
||||
typedef struct { } someStruct;
|
||||
ktId_declare(ktId_someStruct);
|
||||
ktId_declare(ktId_someStructPtr); // pointer to type is another type
|
||||
ktId_declare(someStruct);
|
||||
ktId_declare(someStructPtr); // pointer to type is another type
|
||||
```
|
||||
```c
|
||||
//someStruct.c
|
||||
ktId_define(ktId_someStruct);
|
||||
ktId_define(ktId_someStructPtr);
|
||||
ktId_define(someStruct);
|
||||
ktId_define(someStructPtr);
|
||||
```
|
||||
|
||||
## type descriptors
|
||||
|
||||
@ -7,10 +7,10 @@ extern "C" {
|
||||
#include "../std.h"
|
||||
typedef uint16 ktId;
|
||||
|
||||
#define ktId_declare(ID_VAR_NAME)\
|
||||
extern ktId ID_VAR_NAME
|
||||
#define ktId_define(ID_VAR_NAME)\
|
||||
ktId ID_VAR_NAME=-1
|
||||
#define ktId_declare(TYPE_NAME)\
|
||||
extern ktId ktId_##TYPE_NAME
|
||||
#define ktId_define(TYPE_NAME)\
|
||||
ktId ktId_##TYPE_NAME=-1
|
||||
|
||||
#if __cplusplus
|
||||
}
|
||||
|
||||
@ -3,36 +3,36 @@
|
||||
Autoarr_declare(ktDescriptor)
|
||||
Autoarr_define(ktDescriptor)
|
||||
|
||||
ktId_define(ktId_Null);
|
||||
ktId_define(Null);
|
||||
|
||||
ktId_define(ktId_Char);
|
||||
ktId_define(ktId_Bool);
|
||||
ktId_define(ktId_Float32);
|
||||
ktId_define(ktId_Float64);
|
||||
ktId_define(ktId_Int8);
|
||||
ktId_define(ktId_UInt8);
|
||||
ktId_define(ktId_Int16);
|
||||
ktId_define(ktId_UInt16);
|
||||
ktId_define(ktId_Int32);
|
||||
ktId_define(ktId_UInt32);
|
||||
ktId_define(ktId_Int64);
|
||||
ktId_define(ktId_UInt64);
|
||||
ktId_define(Char);
|
||||
ktId_define(Bool);
|
||||
ktId_define(Float32);
|
||||
ktId_define(Float64);
|
||||
ktId_define(Int8);
|
||||
ktId_define(UInt8);
|
||||
ktId_define(Int16);
|
||||
ktId_define(UInt16);
|
||||
ktId_define(Int32);
|
||||
ktId_define(UInt32);
|
||||
ktId_define(Int64);
|
||||
ktId_define(UInt64);
|
||||
|
||||
ktId_define(ktId_CharPtr);
|
||||
ktId_define(ktId_BoolPtr);
|
||||
ktId_define(ktId_Float32Ptr);
|
||||
ktId_define(ktId_Float64Ptr);
|
||||
ktId_define(ktId_Int8Ptr);
|
||||
ktId_define(ktId_UInt8Ptr);
|
||||
ktId_define(ktId_Int16Ptr);
|
||||
ktId_define(ktId_UInt16Ptr);
|
||||
ktId_define(ktId_Int32Ptr);
|
||||
ktId_define(ktId_UInt32Ptr);
|
||||
ktId_define(ktId_Int64Ptr);
|
||||
ktId_define(ktId_UInt64Ptr);
|
||||
ktId_define(CharPtr);
|
||||
ktId_define(BoolPtr);
|
||||
ktId_define(Float32Ptr);
|
||||
ktId_define(Float64Ptr);
|
||||
ktId_define(Int8Ptr);
|
||||
ktId_define(UInt8Ptr);
|
||||
ktId_define(Int16Ptr);
|
||||
ktId_define(UInt16Ptr);
|
||||
ktId_define(Int32Ptr);
|
||||
ktId_define(UInt32Ptr);
|
||||
ktId_define(Int64Ptr);
|
||||
ktId_define(UInt64Ptr);
|
||||
|
||||
ktId_define(ktId_ktDescriptor);
|
||||
ktId_define(ktId_ktDescriptorPtr);
|
||||
ktId_define(ktDescriptor);
|
||||
ktId_define(ktDescriptorPtr);
|
||||
|
||||
// type descriptors are stored here during initialization
|
||||
Autoarr(ktDescriptor)* __ktDescriptors=NULL;
|
||||
|
||||
@ -23,36 +23,36 @@ void ktDescriptors_endInit();
|
||||
Maybe ktDescriptor_get(ktId id);
|
||||
|
||||
|
||||
ktId_declare(ktId_Null);
|
||||
ktId_declare(Null);
|
||||
|
||||
ktId_declare(ktId_Char);
|
||||
ktId_declare(ktId_Bool);
|
||||
ktId_declare(ktId_Float32);
|
||||
ktId_declare(ktId_Float64);
|
||||
ktId_declare(ktId_Int8);
|
||||
ktId_declare(ktId_UInt8);
|
||||
ktId_declare(ktId_Int16);
|
||||
ktId_declare(ktId_UInt16);
|
||||
ktId_declare(ktId_Int32);
|
||||
ktId_declare(ktId_UInt32);
|
||||
ktId_declare(ktId_Int64);
|
||||
ktId_declare(ktId_UInt64);
|
||||
ktId_declare(Char);
|
||||
ktId_declare(Bool);
|
||||
ktId_declare(Float32);
|
||||
ktId_declare(Float64);
|
||||
ktId_declare(Int8);
|
||||
ktId_declare(UInt8);
|
||||
ktId_declare(Int16);
|
||||
ktId_declare(UInt16);
|
||||
ktId_declare(Int32);
|
||||
ktId_declare(UInt32);
|
||||
ktId_declare(Int64);
|
||||
ktId_declare(UInt64);
|
||||
|
||||
ktId_declare(ktId_CharPtr);
|
||||
ktId_declare(ktId_BoolPtr);
|
||||
ktId_declare(ktId_Float32Ptr);
|
||||
ktId_declare(ktId_Float64Ptr);
|
||||
ktId_declare(ktId_Int8Ptr);
|
||||
ktId_declare(ktId_UInt8Ptr);
|
||||
ktId_declare(ktId_Int16Ptr);
|
||||
ktId_declare(ktId_UInt16Ptr);
|
||||
ktId_declare(ktId_Int32Ptr);
|
||||
ktId_declare(ktId_UInt32Ptr);
|
||||
ktId_declare(ktId_Int64Ptr);
|
||||
ktId_declare(ktId_UInt64Ptr);
|
||||
ktId_declare(CharPtr);
|
||||
ktId_declare(BoolPtr);
|
||||
ktId_declare(Float32Ptr);
|
||||
ktId_declare(Float64Ptr);
|
||||
ktId_declare(Int8Ptr);
|
||||
ktId_declare(UInt8Ptr);
|
||||
ktId_declare(Int16Ptr);
|
||||
ktId_declare(UInt16Ptr);
|
||||
ktId_declare(Int32Ptr);
|
||||
ktId_declare(UInt32Ptr);
|
||||
ktId_declare(Int64Ptr);
|
||||
ktId_declare(UInt64Ptr);
|
||||
|
||||
ktId_declare(ktId_ktDescriptor);
|
||||
ktId_declare(ktId_ktDescriptorPtr);
|
||||
ktId_declare(ktDescriptor);
|
||||
ktId_declare(ktDescriptorPtr);
|
||||
|
||||
#if __cplusplus
|
||||
}
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
|
||||
#include "init.h"
|
||||
#include "ktId.h"
|
||||
#include "ktDescriptor.h"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "../base.h"
|
||||
|
||||
ktId_define(ktId_Unitype);
|
||||
ktId_define(ktId_UnitypePtr);
|
||||
ktId_define(Unitype);
|
||||
ktId_define(UnitypePtr);
|
||||
|
||||
void Unitype_free(Unitype u){
|
||||
tryLast(ktDescriptor_get(u.typeId), mType);
|
||||
|
||||
@ -18,8 +18,8 @@ typedef struct Unitype{
|
||||
ktId typeId;
|
||||
bool allocatedInHeap; // should Unitype_free call free() to VoidPtr*
|
||||
} Unitype;
|
||||
ktId_declare(ktId_Unitype);
|
||||
ktId_declare(ktId_UnitypePtr);
|
||||
ktId_declare(Unitype);
|
||||
ktId_declare(UnitypePtr);
|
||||
|
||||
|
||||
#define __UniDef(TYPE, VAL) (Unitype){\
|
||||
|
||||
Loading…
Reference in New Issue
Block a user