summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2023-03-17 11:29:04 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2023-03-20 13:54:18 -0700
commit54dbd8bea8a79bfcdefa471c1717c6cd28022f33 (patch)
treea192755d979ae7db2a47616450d8a32332855809 /include
parent51834ff2ec4fba7fa4d62b04365c1c9c5b6700f1 (diff)
downloadruby-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.h2
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);