diff options
| author | 2021-05-28 21:37:13 -0500 | |
|---|---|---|
| committer | 2021-05-29 11:43:18 -0500 | |
| commit | 4d983e54b51276f21a6740f36ca6c438dced8c2f (patch) | |
| tree | e2d6fd7b020d268dc8348b7c6a704d92693b1392 /src/include/janet.h | |
| parent | Make jpm configurable for environments like MinGW. (diff) | |
Initial struct prototype code.
Also add a number of cfunctions for manipulating structs
with prototypes.
Diffstat (limited to 'src/include/janet.h')
| -rw-r--r-- | src/include/janet.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/include/janet.h b/src/include/janet.h index 0b41987c..bf111e57 100644 --- a/src/include/janet.h +++ b/src/include/janet.h @@ -922,6 +922,7 @@ struct JanetStructHead { int32_t length; int32_t hash; int32_t capacity; + const JanetKV *proto; const JanetKV data[]; }; @@ -1515,10 +1516,13 @@ JANET_API JanetSymbol janet_symbol_gen(void); #define janet_struct_length(t) (janet_struct_head(t)->length) #define janet_struct_capacity(t) (janet_struct_head(t)->capacity) #define janet_struct_hash(t) (janet_struct_head(t)->hash) +#define janet_struct_proto(t) (janet_struct_head(t)->proto) JANET_API JanetKV *janet_struct_begin(int32_t count); JANET_API void janet_struct_put(JanetKV *st, Janet key, Janet value); JANET_API JanetStruct janet_struct_end(JanetKV *st); JANET_API Janet janet_struct_get(JanetStruct st, Janet key); +JANET_API Janet janet_struct_rawget(JanetStruct st, Janet key); +JANET_API Janet janet_struct_get_ex(JanetStruct st, Janet key, JanetStruct *which); JANET_API JanetTable *janet_struct_to_table(JanetStruct st); JANET_API const JanetKV *janet_struct_find(JanetStruct st, Janet key); |
