#define IteratorInitHead(advance,...)
The base macro for all iterator initialization functions in this project.
Definition: iterator.h:111
#define IteratorTail(return_type, struct_type)
The base definition macro for all iterators in this project.
Definition: iterator.h:46
bool exhausted
An indicator that the iterator has stopped.
Definition: iterator.h:231
#define ExtendInit(name, value)
The extension macro for initializing more complicated Iterators.
Definition: iterator.h:168
#define next(state)
The macro to advance generic iterators.
Definition: iterator.h:180
uintmax_t current
Definition: factors.h:17
factor_counter proper_divisors(uintmax_t target)
Definition: factors.h:42
#define IterationHead(it)
The base macro for all iteration functions in this project.
Definition: iterator.h:74
uintmax_t proper_divisor_count(uintmax_t target)
Definition: factors.h:51
uintmax_t target
Definition: factors.h:16
uintmax_t advance_factor_counter(factor_counter *fc)
Definition: factors.h:26
An implementation of Python-like iterators and generators using macros to maintain static typing...