exported Autoarr_KVPair & Autoarr_Unitype

This commit is contained in:
2022-03-31 00:09:24 +03:00
parent c1d004f411
commit 3940eeb2a7
13 changed files with 133 additions and 28 deletions

View File

@@ -25,3 +25,8 @@ bool DtsodV24_remove(Hashtable* dtsod, char* key){
*val=UniNull;
return true;
}
//frees memory including memory of elements (hashtables, autoarrs, etc.)
void DtsodV24_free(Hashtable* dtsod){
Hashtable_free(dtsod);
}

View File

@@ -24,6 +24,9 @@ bool DtsodV24_contains(Hashtable* dtsod, char* key);
//replaces value with UniNull if key exists in dtsod
bool DtsodV24_remove(Hashtable* dtsod, char* key);
//frees memory including memory of elements (hashtables, autoarrs, etc.)
void DtsodV24_free(Hashtable* dtsod);
#if __cplusplus
}
#endif

View File

@@ -151,7 +151,7 @@ Unitype __ParseValue(DeserializeSharedData* shared, string str){
switch(str.ptr[str.length-1]){
case 'f': {
char* _c=string_cpToCptr(str);
Unitype rez=Uni(Double,strtod(_c,NULL));
Unitype rez=Uni(Float64,strtod(_c,NULL));
free(_c);
return rez;
}

View File

@@ -25,7 +25,7 @@ EXPORT void CALL kerep_DtsodV24_get(Hashtable* dtsod, char* key, Unitype* output
*output=DtsodV24_get(dtsod, key);
}
//adds or sets value
//adds or sets the value
EXPORT void CALL kerep_DtsodV24_addOrSet(Hashtable* dtsod, char* key, Unitype value){
DtsodV24_addOrSet(dtsod, key, value);
}
@@ -40,6 +40,19 @@ EXPORT void CALL kerep_DtsodV24_remove(Hashtable* dtsod, char* key, bool* output
*output=DtsodV24_remove(dtsod, key);
}
//replaces value with UniNull if key exists in dtsod
EXPORT void CALL kerep_DtsodV24_free(Hashtable* dtsod){
DtsodV24_free(dtsod);
}
EXPORT void CALL kerep_DtsodV24_height(Hashtable* dtsod, uint16* heigth){
*heigth=Hashtable_height(dtsod);
}
EXPORT void CALL kerep_DtsodV24_getrow(Hashtable* dtsod, uint16 h, Autoarr_KeyValuePair** row){
*row=dtsod->rows+h;
}
#if __cplusplus
}
#endif

View File

@@ -34,8 +34,8 @@ void __AppendValue(SerializeSharedData* shared, Unitype u){
StringBuilder_append_uint64(b,u.UInt64);
addc('u');
break;
case Double:
StringBuilder_append_double(b,u.Double);
case Float64:
StringBuilder_append_double(b,u.Float64);
addc('f');
break;
case CharPtr: