Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xlsxio library #7

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
20c0c82
Add files via upload
fxl447098457 Jan 14, 2025
5de1c74
Update xlsxio_read.bi
fxl447098457 Jan 14, 2025
824737a
Update xlsxio_version.bi
fxl447098457 Jan 14, 2025
3327fa1
Update xlsxio_write.bi
fxl447098457 Jan 14, 2025
2612e0f
Add files via upload
fxl447098457 Jan 14, 2025
ffe331d
added cjson library
fxl447098457 Jan 14, 2025
6d00b1f
Add files via upload
fxl447098457 Jan 14, 2025
f3b7f0f
added duckdb library
fxl447098457 Jan 14, 2025
d794286
Add files via upload
fxl447098457 Jan 14, 2025
04f281a
Update cjson_test.bas
fxl447098457 Jan 14, 2025
e53a7c8
added Oniguruma library
fxl447098457 Jan 14, 2025
80af918
test for Oniguruma regular expressions library
fxl447098457 Jan 14, 2025
bee15d4
added zstd library
fxl447098457 Jan 14, 2025
d2379de
Update zstd.bi
fxl447098457 Jan 14, 2025
f9e1d78
Update zstd_errors.bi
fxl447098457 Jan 14, 2025
2766b55
added test files for zstd library
fxl447098457 Jan 14, 2025
3aedfc3
added collections-C library
fxl447098457 Jan 14, 2025
234d113
test files for collection-c library
fxl447098457 Jan 14, 2025
0941a93
added xxhash library
fxl447098457 Jan 15, 2025
e6171c6
xxhash library test
fxl447098457 Jan 15, 2025
5145df3
added my_basic library
fxl447098457 Jan 15, 2025
34587d9
added test files for my_basic library
fxl447098457 Jan 15, 2025
afe058c
added LodePNG library
fxl447098457 Jan 16, 2025
753874b
tests for lodepng library
fxl447098457 Jan 16, 2025
300a64f
added tinyexpr library
fxl447098457 Jan 16, 2025
d1c9049
added tinyexpr library
fxl447098457 Jan 16, 2025
89d7ca2
added tinyexpr library
fxl447098457 Jan 16, 2025
6f7d3a2
added test file for tinyexpr library
fxl447098457 Jan 16, 2025
71a0902
added C Algorithms Library
fxl447098457 Jan 17, 2025
2765cc1
test for libcalg library(C Algorithms Library)
fxl447098457 Jan 17, 2025
78ad440
added pdfgen library
fxl447098457 Jan 18, 2025
d1fd600
added test file for pdfgen library
fxl447098457 Jan 18, 2025
1e3d91c
added mujs library
fxl447098457 Jan 19, 2025
874101e
added test file for mujs library
fxl447098457 Jan 19, 2025
e5ed868
added llhttp library
fxl447098457 Jan 20, 2025
cc08f3d
added test file for lhttp library
fxl447098457 Jan 20, 2025
11ac50e
added iniparser library
fxl447098457 Jan 21, 2025
e7cf878
added iniparser test file
fxl447098457 Jan 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions inc/Collections-C/cc_array.bi
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
'freebasic bindings for Collections-C library.
'Collections-C is a library of generic data structures for the C language.
'GNU LESSER GENERAL PUBLIC LICENSE
' Version 3, 29 June 2007
'
' Copyright (C) 2007 free Software Foundation, Inc. <http://fsf.org/>
' Everyone is permitted to copy and distribute verbatim copies
' of this license document, but changing it is not allowed.
'
' This version of the GNU Lesser General Public License incorporates
'the terms and conditions of version 3 of the GNU General Public
'License, supplemented by the additional permissions listed.
' As used herein, "this License" refers to version 3 of the GNU Lesser
'General Public License, and the "GNU GPL" refers to version 3 of the GNU
'General Public License.
'' translated to FreeBASIC by:
'' FreeBASIC development team

#pragma once
#ifndef COLLECTIONS_C_ARRAY_H

#define COLLECTIONS_C_ARRAY_H
#include once "cc_common.bi"

extern "C"

type CC_Array as cc_array_s

type cc_array_conf_s
capacity as uinteger
exp_factor as single
mem_alloc as function(byval size as uinteger) as any ptr
mem_calloc as function(byval blocks as uinteger, byval size as uinteger) as any ptr
mem_free as sub(byval block as any ptr)
end type

type CC_ArrayConf as cc_array_conf_s

type cc_array_iter_s
ar as CC_Array ptr
index as uinteger
last_removed as bool
end type

type CC_ArrayIter as cc_array_iter_s

type array_zip_iter_s
ar1 as CC_Array ptr
ar2 as CC_Array ptr
index as uinteger
last_removed as bool
end type

type CC_ArrayZipIter as array_zip_iter_s
declare function cc_array_new(byval out_ as CC_Array ptr ptr) as cc_stat
declare function cc_array_new_conf(byval conf as const CC_ArrayConf const ptr, byval out_ as CC_Array ptr ptr) as cc_stat
declare sub cc_array_conf_init(byval conf as CC_ArrayConf ptr)
declare function cc_array_struct_size() as uinteger
Declare Sub cc_array_destroy(ByVal ar As CC_Array Ptr)
declare sub cc_array_destroy_cb(byval ar as CC_Array ptr, byval cb as sub(byval as any ptr))
declare function cc_array_add(byval ar as CC_Array ptr, byval element as any ptr) as cc_stat
declare function cc_array_add_at(byval ar as CC_Array ptr, byval element as any ptr, byval index as uinteger) as cc_stat
declare function cc_array_replace_at(byval ar as CC_Array ptr, byval element as any ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_swap_at(byval ar as CC_Array ptr, byval index1 as uinteger, byval index2 as uinteger) as cc_stat
declare function cc_array_remove(byval ar as CC_Array ptr, byval element as any ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_remove_at(byval ar as CC_Array ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
Declare Function cc_array_remove_last(ByVal ar As CC_Array Ptr, ByVal out_ As Any Ptr Ptr) As cc_stat
declare sub cc_array_remove_all(byval ar as CC_Array ptr)
declare sub cc_array_remove_all_free(byval ar as CC_Array ptr)
declare function cc_array_get_at(byval ar as CC_Array ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_get_last(byval ar as CC_Array ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_subarray(byval ar as CC_Array ptr, byval from as uinteger, byval to as uinteger, byval out_ as CC_Array ptr ptr) as cc_stat
declare function cc_array_copy_shallow(byval ar as CC_Array ptr, byval out_ as CC_Array ptr ptr) as cc_stat
declare function cc_array_copy_deep(byval ar as CC_Array ptr, byval cp as function(byval as any ptr) as any ptr, byval out_ as CC_Array ptr ptr) as cc_stat
declare sub cc_array_reverse(byval ar as CC_Array ptr)
declare function cc_array_trim_capacity(byval ar as CC_Array ptr) as cc_stat
declare function cc_array_contains(byval ar as CC_Array ptr, byval element as any ptr) as uinteger
declare function cc_array_contains_value(byval ar as CC_Array ptr, byval element as any ptr, byval cmp as function(byval as const any ptr, byval as const any ptr) as long) as uinteger
declare function cc_array_size(byval ar as CC_Array ptr) as uinteger
declare function cc_array_capacity(byval ar as CC_Array ptr) as uinteger
declare function cc_array_index_of(byval ar as CC_Array ptr, byval element as any ptr, byval index as uinteger ptr) as cc_stat
declare sub cc_array_sort(byval ar as CC_Array ptr, byval cmp as function(byval as const any ptr, byval as const any ptr) as long)
declare sub cc_array_map(byval ar as CC_Array ptr, byval fn as sub(byval as any ptr))
declare sub cc_array_reduce(byval ar as CC_Array ptr, byval fn as sub(byval as any ptr, byval as any ptr, byval as any ptr), byval result as any ptr)
declare function cc_array_filter_mut(byval ar as CC_Array ptr, byval predicate as function(byval as const any ptr) as bool) as cc_stat
declare function cc_array_filter(byval ar as CC_Array ptr, byval predicate as function(byval as const any ptr) as bool, byval out_ as CC_Array ptr ptr) as cc_stat
declare sub cc_array_iter_init(byval iter as CC_ArrayIter ptr, byval ar as CC_Array ptr)
declare function cc_array_iter_next(byval iter as CC_ArrayIter ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_iter_remove(byval iter as CC_ArrayIter ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_iter_add(byval iter as CC_ArrayIter ptr, byval element as any ptr) as cc_stat
declare function cc_array_iter_replace(byval iter as CC_ArrayIter ptr, byval element as any ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_array_iter_index(byval iter as CC_ArrayIter ptr) as uinteger
declare sub cc_array_zip_iter_init(byval iter as CC_ArrayZipIter ptr, byval a1 as CC_Array ptr, byval a2 as CC_Array ptr)
declare function cc_array_zip_iter_next(byval iter as CC_ArrayZipIter ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_array_zip_iter_add(byval iter as CC_ArrayZipIter ptr, byval e1 as any ptr, byval e2 as any ptr) as cc_stat
declare function cc_array_zip_iter_remove(byval iter as CC_ArrayZipIter ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_array_zip_iter_replace(byval iter as CC_ArrayZipIter ptr, byval e1 as any ptr, byval e2 as any ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_array_zip_iter_index(byval iter as CC_ArrayZipIter ptr) as uinteger
declare function cc_array_get_buffer(byval ar as CC_Array ptr) as const any const ptr ptr
#macro CC_ARRAY_FOREACH(val, array, body)
scope
dim cc_array_iter_53d46d2a04458e7b as CC_ArrayIter
cc_array_iter_init(@cc_array_iter_53d46d2a04458e7b, array)
dim val as any ptr
while (cc_array_iter_next(&cc_array_iter_53d46d2a04458e7b, &val) != CC_ITER_END)
body
wend
end scope
#endmacro
#macro CC_ARRAY_FOREACH_ZIP(val1, val2, array1, array2, body)
scope
dim cc_array_zip_iter_ea08d3e52f25883b3 as CC_ArrayZipIter
cc_array_zip_iter_init(@cc_array_zip_iter_ea08d3e52f25883b3, array1, array2)
dim val1 as any ptr
dim val2 as any ptr
while (cc_array_zip_iter_next(@cc_array_zip_iter_ea08d3e52f25883b3, @val1, @val2)<>CC_ITER_END)
body
wend
end scope
#endmacro

end extern
#endif
48 changes: 48 additions & 0 deletions inc/Collections-C/cc_common.bi
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
'freebasic bindings for Collections-C library.
'Collections-C is a library of generic data structures for the C language.
'GNU LESSER GENERAL PUBLIC LICENSE
' Version 3, 29 June 2007
'
' Copyright (C) 2007 free Software Foundation, Inc. <http://fsf.org/>
' Everyone is permitted to copy and distribute verbatim copies
' of this license document, but changing it is not allowed.
'
' This version of the GNU Lesser General Public License incorporates
'the terms and conditions of version 3 of the GNU General Public
'License, supplemented by the additional permissions listed.
' As used herein, "this License" refers to version 3 of the GNU Lesser
'General Public License, and the "GNU GPL" refers to version 3 of the GNU
'General Public License.
'' translated to FreeBASIC by:
'' FreeBASIC development team
#pragma once
#ifndef COLLECTIONS_C_COMMON_H

#define COLLECTIONS_C_COMMON_H
#include once "crt/stdlib.bi"
#include once "crt/stdint.bi"
#include once "crt/string.bi"

extern "C"

const MAX_POW_TWO = cuint(1) shl 31

type bool as long
type cc_stat as long
enum
CC_OK = 0
CC_ERR_ALLOC = 1
CC_ERR_INVALID_CAPACITY = 2
CC_ERR_INVALID_RANGE = 3
CC_ERR_MAX_CAPACITY = 4
CC_ERR_KEY_NOT_FOUND = 6
CC_ERR_VALUE_NOT_FOUND = 7
CC_ERR_OUT_OF_RANGE = 8
CC_ITER_END = 9
end enum

const CC_MAX_ELEMENTS = cuint(-2)
declare function cc_common_cmp_str(byval key1 as const any ptr, byval key2 as const any ptr) as long
declare function CC_CMP_STRING alias "cc_common_cmp_str"(byval key1 as const any ptr, byval key2 as const any ptr) as long
End Extern
#endif
116 changes: 116 additions & 0 deletions inc/Collections-C/cc_deque.bi
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
'freebasic bindings for Collections-C library.
'Collections-C is a library of generic data structures for the C language.
'GNU LESSER GENERAL PUBLIC LICENSE
' Version 3, 29 June 2007
'
' Copyright (C) 2007 free Software Foundation, Inc. <http://fsf.org/>
' Everyone is permitted to copy and distribute verbatim copies
' of this license document, but changing it is not allowed.
'
' This version of the GNU Lesser General Public License incorporates
'the terms and conditions of version 3 of the GNU General Public
'License, supplemented by the additional permissions listed.
' As used herein, "this License" refers to version 3 of the GNU Lesser
'General Public License, and the "GNU GPL" refers to version 3 of the GNU
'General Public License.
'' translated to FreeBASIC by:
'' FreeBASIC development team

#pragma once
#ifndef COLLECTIONS_C_CC_DEQUE_H

#define COLLECTIONS_C_CC_DEQUE_H
#include once "crt/stdlib.bi"
#include once "crt/stdint.bi"
#include once "crt/string.bi"
#include once "cc_common.bi"

extern "C"

Type CC_Deque As cc_deque_s

type cc_deque_conf_s
capacity as uinteger
mem_alloc as function(byval size as uinteger) as any ptr
mem_calloc as function(byval blocks as uinteger, byval size as uinteger) as any ptr
mem_free as sub(byval block as any ptr)
end type

type CC_DequeConf as cc_deque_conf_s

type cc_deque_iter_s
deque as CC_Deque ptr
index as uinteger
last_removed as bool
end type

type CC_DequeIter as cc_deque_iter_s

type cc_deque_zip_iter_s
d1 as CC_Deque ptr
d2 as CC_Deque ptr
index as uinteger
last_removed as bool
end type

type CC_DequeZipIter as cc_deque_zip_iter_s
declare function cc_deque_new(byval deque as CC_Deque ptr ptr) as cc_stat
declare function cc_deque_new_conf(byval conf as const CC_DequeConf const ptr, byval deque as CC_Deque ptr ptr) as cc_stat
declare sub cc_deque_conf_init(byval conf as CC_DequeConf ptr)
declare function cc_deque_struct_size() as uinteger
declare sub cc_deque_destroy(byval deque as CC_Deque ptr)
declare sub cc_deque_destroy_cb(byval deque as CC_Deque ptr, byval cb as sub(byval as any ptr))
declare function cc_deque_add(byval deque as CC_Deque ptr, byval element as any ptr) as cc_stat
declare function cc_deque_add_first(byval deque as CC_Deque ptr, byval element as any ptr) as cc_stat
declare function cc_deque_add_last(byval deque as CC_Deque ptr, byval element as any ptr) as cc_stat
declare function cc_deque_add_at(byval deque as CC_Deque ptr, byval element as any ptr, byval index as uinteger) as cc_stat
declare function cc_deque_replace_at(byval deque as CC_Deque ptr, byval element as any ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_remove(byval deque as CC_Deque ptr, byval element as any ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_remove_at(byval deque as CC_Deque ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_remove_first(byval deque as CC_Deque ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_remove_last(byval deque as CC_Deque ptr, byval out_ as any ptr ptr) as cc_stat
declare sub cc_deque_remove_all(byval deque as CC_Deque ptr)
declare sub cc_deque_remove_all_cb(byval deque as CC_Deque ptr, byval cb as sub(byval as any ptr))
declare function cc_deque_get_at(byval deque as const CC_Deque const ptr, byval index as uinteger, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_get_first(byval deque as const CC_Deque const ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_get_last(byval deque as const CC_Deque const ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_copy_shallow(byval deque as const CC_Deque const ptr, byval out_ as CC_Deque ptr ptr) as cc_stat
declare function cc_deque_copy_deep(byval deque as const CC_Deque const ptr, byval cp as function(byval as any ptr) as any ptr, byval out_ as CC_Deque ptr ptr) as cc_stat
declare sub cc_deque_reverse(byval deque as CC_Deque ptr)
declare function cc_deque_trim_capacity(byval deque as CC_Deque ptr) as cc_stat
declare function cc_deque_contains(byval deque as const CC_Deque const ptr, byval element as const any ptr) as uinteger
declare function cc_deque_contains_value(byval deque as const CC_Deque const ptr, byval element as const any ptr, byval cmp as function(byval as const any ptr, byval as const any ptr) as long) as uinteger
declare function cc_deque_size(byval deque as const CC_Deque const ptr) as uinteger
declare function cc_deque_capacity(byval deque as const CC_Deque const ptr) as uinteger
declare function cc_deque_index_of(byval deque as const CC_Deque const ptr, byval element as const any ptr, byval i as uinteger ptr) as cc_stat
declare sub cc_deque_foreach(byval deque as CC_Deque ptr, byval fn as sub(byval as any ptr))
declare function cc_deque_filter_mut(byval deque as CC_Deque ptr, byval predicate as function(byval as const any ptr) as bool) as cc_stat
declare function cc_deque_filter(byval deque as CC_Deque ptr, byval predicate as function(byval as const any ptr) as bool, byval out_ as CC_Deque ptr ptr) as cc_stat
declare sub cc_deque_iter_init(byval iter as CC_DequeIter ptr, byval deque as CC_Deque ptr)
declare function cc_deque_iter_next(byval iter as CC_DequeIter ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_iter_remove(byval iter as CC_DequeIter ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_iter_add(byval iter as CC_DequeIter ptr, byval element as any ptr) as cc_stat
declare function cc_deque_iter_replace(byval iter as CC_DequeIter ptr, byval replacement as any ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_deque_iter_index(byval iter as CC_DequeIter ptr) as uinteger
declare sub cc_deque_zip_iter_init(byval iter as CC_DequeZipIter ptr, byval d1 as CC_Deque ptr, byval d2 as CC_Deque ptr)
declare function cc_deque_zip_iter_next(byval iter as CC_DequeZipIter ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_deque_zip_iter_add(byval iter as CC_DequeZipIter ptr, byval e1 as any ptr, byval e2 as any ptr) as cc_stat
declare function cc_deque_zip_iter_remove(byval iter as CC_DequeZipIter ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_deque_zip_iter_replace(byval iter as CC_DequeZipIter ptr, byval e1 as any ptr, byval e2 as any ptr, byval out1 as any ptr ptr, byval out2 as any ptr ptr) as cc_stat
declare function cc_deque_zip_iter_index(byval iter as CC_DequeZipIter ptr) as uinteger
declare function cc_deque_get_buffer(byval deque as const CC_Deque const ptr) as const any const ptr ptr

#macro CC_DEQUE_FOREACH_ZIP(val1, val2, deque1, deque2, body)
scope
dim cc_deque_zip_iter_ea08d3e52f25883b3 as CC_DequeZipIter
cc_deque_zip_iter_init(@cc_deque_zip_iter_ea08d3e52f25883b, deque1, deque2)
dim val1 as any ptr
dim val2 as any ptr
while (cc_deque_zip_iter_next(@cc_deque_zip_iter_ea08d3e52f25883b3, @val1, @val2) <> CC_ITER_END)
body
Wend
end scope
#endmacro

end extern
#endif
63 changes: 63 additions & 0 deletions inc/Collections-C/cc_hashset.bi
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
'freebasic bindings for Collections-C library.
'Collections-C is a library of generic data structures for the C language.
'GNU LESSER GENERAL PUBLIC LICENSE
' Version 3, 29 June 2007
'
' Copyright (C) 2007 free Software Foundation, Inc. <http://fsf.org/>
' Everyone is permitted to copy and distribute verbatim copies
' of this license document, but changing it is not allowed.
'
' This version of the GNU Lesser General Public License incorporates
'the terms and conditions of version 3 of the GNU General Public
'License, supplemented by the additional permissions listed.
' As used herein, "this License" refers to version 3 of the GNU Lesser
'General Public License, and the "GNU GPL" refers to version 3 of the GNU
'General Public License.
'' translated to FreeBASIC by:
'' FreeBASIC development team

#pragma once
#ifndef COLLECTIONS_C_CC_HASHSET_H

#define COLLECTIONS_C_CC_HASHSET_H
#include once "cc_hashtable.bi"
#include once "cc_common.bi"
extern "C"

type BOOL As long
Type CC_HashSet As cc_hashset_s
type CC_HashSetConf as CC_HashTableConf

type cc_hashset_iter_s
iter as CC_HashTableIter
end type

type CC_HashSetIter as cc_hashset_iter_s
declare sub cc_hashset_conf_init(byval conf as CC_HashSetConf ptr)
declare function cc_hashset_new(byval hs as CC_HashSet ptr ptr) as cc_stat
declare function cc_hashset_new_conf(byval conf as const CC_HashSetConf const ptr, byval hs as CC_HashSet ptr ptr) as cc_stat
declare sub cc_hashset_destroy(byval set as CC_HashSet ptr)
declare function cc_hashset_struct_size() as uinteger
declare function cc_hashset_add(byval set as CC_HashSet ptr, byval element as any ptr) as cc_stat
declare function cc_hashset_remove(byval set as CC_HashSet ptr, byval element as any ptr, byval out_ as any ptr ptr) as cc_stat
declare sub cc_hashset_remove_all(byval set as CC_HashSet ptr)
Declare Function cc_hashset_contains(ByVal set As CC_HashSet Ptr, ByVal element As Any Ptr) As BOOL
declare function cc_hashset_size(byval set as CC_HashSet ptr) as uinteger
declare function cc_hashset_capacity(byval set as CC_HashSet ptr) as uinteger
declare sub cc_hashset_foreach(byval set as CC_HashSet ptr, byval op as sub(byval as const any ptr))
declare sub cc_hashset_iter_init(byval iter as CC_HashSetIter ptr, byval set as CC_HashSet ptr)
declare function cc_hashset_iter_next(byval iter as CC_HashSetIter ptr, byval out_ as any ptr ptr) as cc_stat
declare function cc_hashset_iter_remove(byval iter as CC_HashSetIter ptr, byval out_ as any ptr ptr) as cc_stat
'#macro CC_HASHSET_FOREACH(val_, hashset_, body)
' scope
' dim cc_hashset_iter_53d46d2a04458e7b as CC_HashSetIter
' cc_hashset_iter_init(@cc_hashset_iter_53d46d2a04458e7b, hashset_)
' dim val_ as any ptr
' while (cc_hashset_iter_next(@cc_hashset_iter_53d46d2a04458e7b, @val) <> CC_ITER_END)
' body
' wend
' End Scope
'#endmacro

end extern
#endif
Loading