interpret/src/scan.h

34 lines
797 B
C
Raw Normal View History

#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 *);