Ruby 3.5.0dev (2025-06-28 revision 0828dff3f8bb345e8d79d5cdbbe0a207f8e2a7b7)
ractor_safe_set.h
1#ifndef RUBY_RACTOR_SAFE_TABLE_H
2#define RUBY_RACTOR_SAFE_TABLE_H
3
4#include "ruby/ruby.h"
5
6typedef VALUE (*rb_ractor_safe_set_hash_func)(VALUE key);
7typedef bool (*rb_ractor_safe_set_cmp_func)(VALUE a, VALUE b);
8typedef VALUE (*rb_ractor_safe_set_create_func)(VALUE key, void *data);
9
11 rb_ractor_safe_set_hash_func hash;
12 rb_ractor_safe_set_cmp_func cmp;
13 rb_ractor_safe_set_create_func create;
14};
15
16VALUE rb_ractor_safe_set_new(struct rb_ractor_safe_set_funcs *funcs, int capacity);
17VALUE rb_ractor_safe_set_find_or_insert(VALUE *set_obj_ptr, VALUE key, void *data);
18VALUE rb_ractor_safe_set_delete_by_identity(VALUE set_obj, VALUE key);
19void rb_ractor_safe_set_foreach_with_replace(VALUE set_obj, int (*callback)(VALUE *key, void *data), void *data);
20
21#endif
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40