interpret/src/source.h

29 lines
803 B
C
Raw Normal View History

#include "pair.h" /* pair */
struct source { struct pair name, desc; };
2023-02-03 02:53:59 +00:00
#define ARRAY_NAME sourcelist
#define ARRAY_TYPE struct source
#define ARRAY_HEAD
#include "../src/array.h"
2023-02-03 02:53:59 +00:00
#include <stddef.h> /* size_t */
#include "../src/journal.h" /* line64 */
#define TREE_NAME source
#define TREE_KEY union line64
#define TREE_VALUE size_t
#define TREE_HEAD
#include "../src/tree.h"
2023-02-03 02:53:59 +00:00
struct sources {
struct sourcelist_array list;
2023-04-01 02:31:25 +00:00
struct pairmap_table map;
struct source_tree dates;
};
2023-02-03 02:53:59 +00:00
struct source *sources_add(struct sources *, const union line64);
struct sources sources(struct journal *);
void sources_(struct sources *);
2023-03-16 03:10:12 +00:00
int sources_is_empty(const struct sources *);
2023-02-03 02:53:59 +00:00
const char *sources_to_string(const struct sources *);
2023-04-19 22:11:44 +00:00
const struct source *source_lookup(struct sources *, const union line64);