PokerUnicorn
Loading...
Searching...
No Matches
trie.h
Go to the documentation of this file.
1/*
2 * PokerUnicorn Server
3 * This project uses test network, NO real coin or NO real money involved.
4 * Copyright (C) 2023, Oğuzhan Eroğlu <meowingcate@gmail.com> (https://meowingcat.io)
5 * Licensed under GPLv3 License
6 * See LICENSE for more info
7 */
8
9#pragma once
10
15
21
28
29typedef struct pkrsrv_trie_node__unicode pkrsrv_trie_node__unicode_t;
31 pkrsrv_trie_node__unicode_t* map[256];
32 pkrsrv_trie_node__unicode_t* parent;
33 void* value;
34 int len;
35};
36
37typedef struct pkrsrv_trie_node__ascii pkrsrv_trie_node__ascii_t;
39 pkrsrv_trie_node__ascii_t* map[128];
40 pkrsrv_trie_node__ascii_t* parent;
41 void* value;
42 int len;
43 char index;
44};
45
46typedef struct pkrsrv_trie_node__index pkrsrv_trie_node__index_t;
48 pkrsrv_trie_node__index_t* map[10];
49 pkrsrv_trie_node__index_t* parent;
50 void* value;
51 int len;
52};
53
54typedef struct pkrsrv_trie__unicode pkrsrv_trie__unicode_t;
56 pkrsrv_trie_node__unicode_t* root;
57};
58
59typedef struct pkrsrv_trie__ascii pkrsrv_trie__ascii_t;
61 pkrsrv_trie_node__ascii_t* root;
62};
63
64typedef struct pkrsrv_trie__index pkrsrv_trie__index_t;
66 pkrsrv_trie_node__index_t* root;
67};
68
69pkrsrv_trie__unicode_t* pkrsrv_trie_new__unicode();
70void pkrsrv_trie_free__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie);
71pkrsrv_trie_node__unicode_t* pkrsrv_trie_set__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key, void* value);
72void pkrsrv_trie_unset__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key);
73pkrsrv_trie_node__unicode_t* pkrsrv_trie_get__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key);
74
75pkrsrv_trie_node__unicode_t* pkrsrv_trie_node_new__unicode();
76void pkrsrv_trie_node_free__unicode(pkrsrv_trie_node__unicode_t* node);
77pkrsrv_trie_node__unicode_t* pkrsrv_trie_node_key__unicode(pkrsrv_trie_node__unicode_t* root, char* key);
78
79pkrsrv_trie__ascii_t* pkrsrv_trie_new__ascii();
80void pkrsrv_trie_free__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie);
81pkrsrv_trie_node__ascii_t* pkrsrv_trie_set__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key, void* value);
82void pkrsrv_trie_unset__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key);
83pkrsrv_trie_node__ascii_t* pkrsrv_trie_get__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key);
84
85pkrsrv_trie_node__ascii_t* pkrsrv_trie_node_new__ascii();
86void pkrsrv_trie_node_free__ascii(pkrsrv_trie_node__ascii_t* node);
87pkrsrv_trie_node__ascii_t* pkrsrv_trie_node_key__ascii(pkrsrv_trie_node__ascii_t* root, char* key);
88
89pkrsrv_trie__index_t* pkrsrv_trie_new__index();
90void pkrsrv_trie_free__index(pkrsrv_trie__index_t* pkrsrv_trie);
91pkrsrv_trie_node__index_t* pkrsrv_trie_set__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key, void* value);
92void pkrsrv_trie_unset__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key);
93pkrsrv_trie_node__index_t* pkrsrv_trie_get__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key);
94
95pkrsrv_trie_node__index_t* pkrsrv_trie_node_new__index();
96void pkrsrv_trie_node_free__index(pkrsrv_trie_node__index_t* node);
97pkrsrv_trie_node__index_t* pkrsrv_trie_node_key__index(pkrsrv_trie_node__index_t* root, char* key);
98
pkrsrv_trie_node__ascii_t * map[128]
Definition trie.h:39
pkrsrv_trie_node__ascii_t * parent
Definition trie.h:40
pkrsrv_trie_node__index_t * map[10]
Definition trie.h:48
int len
Definition trie.h:51
int len
Definition trie.h:34
int len
Definition trie.h:42
pkrsrv_trie_node__index_t * parent
Definition trie.h:49
pkrsrv_trie_node__unicode_t * root
Definition trie.h:56
void * value
Definition trie.h:33
void * value
Definition trie.h:41
pkrsrv_trie_node__unicode_t * map[256]
Definition trie.h:31
char index
Definition trie.h:43
pkrsrv_trie_node__unicode_t * parent
Definition trie.h:32
pkrsrv_trie_node__ascii_t * root
Definition trie.h:61
void * value
Definition trie.h:50
pkrsrv_trie_node__index_t * root
Definition trie.h:66
pkrsrv_TRIE_TYPE
Definition trie.h:23
void pkrsrv_trie_node_free__ascii(pkrsrv_trie_node__ascii_t *node)
void pkrsrv_trie_free__ascii(pkrsrv_trie__ascii_t *pkrsrv_trie)
pkrsrv_trie_node__unicode_t * pkrsrv_trie_set__unicode(pkrsrv_trie__unicode_t *pkrsrv_trie, char *key, void *value)
pkrsrv_trie__index_t * pkrsrv_trie_new__index()
void pkrsrv_trie_unset__index(pkrsrv_trie__index_t *pkrsrv_trie, char *key)
pkrsrv_trie_node__index_t * pkrsrv_trie_node_key__index(pkrsrv_trie_node__index_t *root, char *key)
enum pkrsrv_TRIE_TYPE pkrsrv_trie_type_t
Definition trie.h:22
pkrsrv_trie_node__index_t * pkrsrv_trie_get__index(pkrsrv_trie__index_t *pkrsrv_trie, char *key)
pkrsrv_trie_node__unicode_t * pkrsrv_trie_get__unicode(pkrsrv_trie__unicode_t *pkrsrv_trie, char *key)
pkrsrv_trie_node__ascii_t * pkrsrv_trie_set__ascii(pkrsrv_trie__ascii_t *pkrsrv_trie, char *key, void *value)
void pkrsrv_trie_unset__unicode(pkrsrv_trie__unicode_t *pkrsrv_trie, char *key)
pkrsrv_trie_node__unicode_t * pkrsrv_trie_node_key__unicode(pkrsrv_trie_node__unicode_t *root, char *key)
pkrsrv_trie_node__ascii_t * pkrsrv_trie_node_key__ascii(pkrsrv_trie_node__ascii_t *root, char *key)
pkrsrv_trie__ascii_t * pkrsrv_trie_new__ascii()
void pkrsrv_trie_unset__ascii(pkrsrv_trie__ascii_t *pkrsrv_trie, char *key)
void pkrsrv_trie_node_free__index(pkrsrv_trie_node__index_t *node)
void pkrsrv_trie_node_free__unicode(pkrsrv_trie_node__unicode_t *node)
pkrsrv_trie_node__index_t * pkrsrv_trie_node_new__index()
pkrsrv_trie_node__unicode_t * pkrsrv_trie_node_new__unicode()
pkrsrv_trie_node__ascii_t * pkrsrv_trie_get__ascii(pkrsrv_trie__ascii_t *pkrsrv_trie, char *key)
pkrsrv_trie_node__ascii_t * pkrsrv_trie_node_new__ascii()
void pkrsrv_trie_free__unicode(pkrsrv_trie__unicode_t *pkrsrv_trie)
pkrsrv_trie_node__index_t * pkrsrv_trie_set__index(pkrsrv_trie__index_t *pkrsrv_trie, char *key, void *value)
pkrsrv_trie__unicode_t * pkrsrv_trie_new__unicode()
void pkrsrv_trie_free__index(pkrsrv_trie__index_t *pkrsrv_trie)
@ pkrsrv_TRIE_TYPE_ASCII
Definition trie.h:25
@ pkrsrv_TRIE_TYPE_UNICODE
Definition trie.h:24
@ pkrsrv_TRIE_TYPE_INDEX
Definition trie.h:26
Definition trie.h:60
Definition trie.h:65
Definition trie.h:55
Definition trie.h:38
Definition trie.h:47
Definition trie.h:30