41 #define SEQ_ALL_BEGIN(ed, _seq) \
43 SeqIterator iter_macro; \
44 for (SEQ_iterator_begin(ed, &iter_macro, false); iter_macro.valid; \
45 SEQ_iterator_next(&iter_macro)) { \
46 _seq = iter_macro.seq;
50 SEQ_iterator_end(&iter_macro); \
58 int (*apply_fn)(
struct Sequence *seq,
void *),
61 int (*apply_fn)(
struct Sequence *,
void *),
void SEQ_iterator_begin(struct Editing *ed, SeqIterator *iter, const bool use_current_sequences)
void SEQ_iterator_end(SeqIterator *iter)
struct SeqIterator SeqIterator
void SEQ_iterator_next(SeqIterator *iter)
int SEQ_iterator_recursive_apply(struct Sequence *seq, int(*apply_fn)(struct Sequence *, void *), void *arg)
int SEQ_iterator_seqbase_recursive_apply(struct ListBase *seqbase, int(*apply_fn)(struct Sequence *seq, void *), void *arg)