ktId_declare
This commit is contained in:
@@ -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,6 +1,5 @@
|
||||
|
||||
#include "init.h"
|
||||
#include "ktId.h"
|
||||
#include "ktDescriptor.h"
|
||||
#include "kt_functions.h"
|
||||
#include "unitype.h"
|
||||
#include "unitype.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){\
|
||||
|
||||
Reference in New Issue
Block a user