#include "pair.h" /* pair */ #include "journal.h" /* size_t, date32, line64 */ /* Map from line to index in array. */ #define TREE_NAME linetoindex #define TREE_KEY union line64 #define TREE_VALUE size_t #define TREE_HEAD #include "../src/tree.h" /* Score array. */ struct score { struct pair key, name; union date32 date, last/* update */; unsigned edges, score/* update */; }; #define ARRAY_NAME score #define ARRAY_TYPE struct score #define ARRAY_HEAD #include "../src/array.h" struct scores { struct score_array array; struct pairmap_table map; struct linetoindex_tree dates; }; void scores_(struct scores *); struct scores scores(struct journal *); int scores_is_empty(const struct scores *); int scores_graph(struct scores *); const char *scores_to_string(const struct scores *);