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
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};
44
45typedef struct pkrsrv_trie_node__index pkrsrv_trie_node__index_t;
47 pkrsrv_trie_node__index_t* map[10];
48 pkrsrv_trie_node__index_t* parent;
49 void* value;
50 int len;
51};
52
53typedef struct pkrsrv_trie__unicode pkrsrv_trie__unicode_t;
55 pkrsrv_trie_node__unicode_t* root;
56};
57
58typedef struct pkrsrv_trie__ascii pkrsrv_trie__ascii_t;
60 pkrsrv_trie_node__ascii_t* root;
61};
62
63typedef struct pkrsrv_trie__index pkrsrv_trie__index_t;
65 pkrsrv_trie_node__index_t* root;
66};
67
68pkrsrv_trie__unicode_t* pkrsrv_trie_init__unicode();
69void pkrsrv_trie_free__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie);
70pkrsrv_trie_node__unicode_t* pkrsrv_trie_set__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key, void* value);
71void pkrsrv_trie_unset__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key);
72pkrsrv_trie_node__unicode_t* pkrsrv_trie_get__unicode(pkrsrv_trie__unicode_t* pkrsrv_trie, char* key);
73
74pkrsrv_trie_node__unicode_t* pkrsrv_trie_node_init__unicode();
75void pkrsrv_trie_node_free__unicode(pkrsrv_trie_node__unicode_t* node);
76pkrsrv_trie_node__unicode_t* pkrsrv_trie_node_key__unicode(pkrsrv_trie_node__unicode_t* root, char* key);
77
78pkrsrv_trie__ascii_t* pkrsrv_trie_init__ascii();
79void pkrsrv_trie_free__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie);
80pkrsrv_trie_node__ascii_t* pkrsrv_trie_set__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key, void* value);
81void pkrsrv_trie_unset__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key);
82pkrsrv_trie_node__ascii_t* pkrsrv_trie_get__ascii(pkrsrv_trie__ascii_t* pkrsrv_trie, char* key);
83
84pkrsrv_trie_node__ascii_t* pkrsrv_trie_node_init__ascii();
85void pkrsrv_trie_node_free__ascii(pkrsrv_trie_node__ascii_t* node);
86pkrsrv_trie_node__ascii_t* pkrsrv_trie_node_key__ascii(pkrsrv_trie_node__ascii_t* root, char* key);
87
88pkrsrv_trie__index_t* pkrsrv_trie_init__index();
89void pkrsrv_trie_free__index(pkrsrv_trie__index_t* pkrsrv_trie);
90pkrsrv_trie_node__index_t* pkrsrv_trie_set__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key, void* value);
91void pkrsrv_trie_unset__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key);
92pkrsrv_trie_node__index_t* pkrsrv_trie_get__index(pkrsrv_trie__index_t* pkrsrv_trie, char* key);
93
94pkrsrv_trie_node__index_t* pkrsrv_trie_node_init__index();
95void pkrsrv_trie_node_free__index(pkrsrv_trie_node__index_t* node);
96pkrsrv_trie_node__index_t* pkrsrv_trie_node_key__index(pkrsrv_trie_node__index_t* root, char* key);
97
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:47
int len
Definition trie.h:50
int len
Definition trie.h:34
int len
Definition trie.h:42
pkrsrv_trie_node__index_t * parent
Definition trie.h:48
pkrsrv_trie_node__unicode_t * root
Definition trie.h:55
void * value
Definition trie.h:33
void * value
Definition trie.h:41
pkrsrv_trie_node__unicode_t * map[256]
Definition trie.h:31
pkrsrv_trie_node__unicode_t * parent
Definition trie.h:32
pkrsrv_trie_node__ascii_t * root
Definition trie.h:60
void * value
Definition trie.h:49
pkrsrv_trie_node__index_t * root
Definition trie.h:65
pkrsrv_TRIE_TYPE
Definition trie.h:23
pkrsrv_trie__unicode_t * pkrsrv_trie_init__unicode()
pkrsrv_trie_node__unicode_t * pkrsrv_trie_node_init__unicode()
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_node__ascii_t * pkrsrv_trie_node_init__ascii()
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)
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)
pkrsrv_trie_node__index_t * pkrsrv_trie_node_init__index()
void pkrsrv_trie_node_free__unicode(pkrsrv_trie_node__unicode_t *node)
pkrsrv_trie_node__ascii_t * pkrsrv_trie_get__ascii(pkrsrv_trie__ascii_t *pkrsrv_trie, char *key)
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__ascii_t * pkrsrv_trie_init__ascii()
void pkrsrv_trie_free__index(pkrsrv_trie__index_t *pkrsrv_trie)
pkrsrv_trie__index_t * pkrsrv_trie_init__index()
@ 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:59
Definition trie.h:64
Definition trie.h:54
Definition trie.h:38
Definition trie.h:46
Definition trie.h:30