diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-08-29 06:31:49 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-08-29 06:31:49 -0700 |
commit | 9f142b398f53ab7844a0fdfc5b562e8bbccfebe2 (patch) | |
tree | 6ee512c1c5601bdc78db208f20e00eeaeb11a2fd /lex.yy.c.shipped | |
parent | 729c5e17bb601d1325753cb9db6d5d87ffdc3f66 (diff) | |
download | txr-9f142b398f53ab7844a0fdfc5b562e8bbccfebe2.tar.gz txr-9f142b398f53ab7844a0fdfc5b562e8bbccfebe2.tar.bz2 txr-9f142b398f53ab7844a0fdfc5b562e8bbccfebe2.zip |
seq_iter: refactoring.
This is needed in preparation for fixing some gc
bugs in iteration in a less hacky way.
* lib.h (struct seq_iter): Members get and peek removed,
replaced by ops pointer.
(struct seq_iter_ops): New struct type.
(seq_get, seq_peek): Call get and peek through ops table.
* lib.c (seq_geti): Refer to get through ops.
(si_null_ops, si_list_ops, si_vec_ops, si_hash_ops,
si_tree_ops, si_range_cnum_ops, si_range_chr_ops,
si_range_bignum_ops, si_range_str_ops, si_rev_range_cnum_ops,
si_rev_range_chr_ops, si_rev_range_bignum_ops,
si_rev_range_str_ops, si_chr_ops, si_num_ops, si_oop_ops,
si_fast_oop_ops): New static structures.
(seq_iter_init_with_info): Point new ops member of seq_iter to
one of the new structures. Remove initializations of get and
peek.
Diffstat (limited to 'lex.yy.c.shipped')
0 files changed, 0 insertions, 0 deletions