diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2023-03-17 11:29:04 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2023-03-20 13:54:18 -0700 |
commit | 54dbd8bea8a79bfcdefa471c1717c6cd28022f33 (patch) | |
tree | a192755d979ae7db2a47616450d8a32332855809 /include | |
parent | 51834ff2ec4fba7fa4d62b04365c1c9c5b6700f1 (diff) | |
download | ruby-54dbd8bea8a79bfcdefa471c1717c6cd28022f33.tar.gz |
Use an st table for "too complex" objects
st tables will maintain insertion order so we can marshal dump / load
objects with instance variables in the same order they were set on that
particular instance
[ruby-core:112926] [Bug #19535]
Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/st.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/ruby/st.h b/include/ruby/st.h index 1e4bb80686..f35ab43603 100644 --- a/include/ruby/st.h +++ b/include/ruby/st.h @@ -98,6 +98,8 @@ struct st_table { enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK, ST_REPLACE}; +size_t rb_st_table_size(const struct st_table *tbl); +#define st_table_size rb_st_table_size st_table *rb_st_init_table(const struct st_hash_type *); #define st_init_table rb_st_init_table st_table *rb_st_init_table_with_size(const struct st_hash_type *, st_index_t); |