blob: 3e5508ac1bc3cfe6bda6d930ebc3772e6ce648fe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef YANK_TRIE_H_
#define YANK_TRIE_H_
#include <stdbool.h>
#include "nvim/ops.h"
/*
* yanktrie.h: implementation of a datastructure to hold an arbitrary number of
* yank registers.
*/
typedef struct YANKTRIE {
union {
struct YANKTRIE* children[16]; /* nybble-wise trie. */
yankreg_T value;
} u;
} yanktrie_T;
void init_yanktrie(yanktrie_T* yanktrie);
yankreg_T* yanktrie_get(yanktrie_T* yanktrie, size_t index);
void yanktrie_foreach(
yanktrie_T* trie, void (*fn)(void*, size_t, yankreg_T*), void* closure);
#endif
|