diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:19:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:20:02 +0000 |
commit | 58daab21cd043e1dc37024a7f99b396788372918 (patch) | |
tree | 96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /ml/dlib/dlib/hash_table.h | |
parent | Releasing debian version 1.43.2-1. (diff) | |
download | netdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz netdata-58daab21cd043e1dc37024a7f99b396788372918.zip |
Merging upstream version 1.44.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ml/dlib/dlib/hash_table.h')
-rw-r--r-- | ml/dlib/dlib/hash_table.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/ml/dlib/dlib/hash_table.h b/ml/dlib/dlib/hash_table.h new file mode 100644 index 000000000..b49feb916 --- /dev/null +++ b/ml/dlib/dlib/hash_table.h @@ -0,0 +1,60 @@ +// Copyright (C) 2003 Davis E. King (davis@dlib.net) +// License: Boost Software License See LICENSE.txt for the full license. +#ifndef DLIB_HASH_TABLe_ +#define DLIB_HASH_TABLe_ + + +#include "hash_table/hash_table_kernel_1.h" +#include "hash_table/hash_table_kernel_2.h" +#include "hash_table/hash_table_kernel_c.h" +#include "algs.h" + +#include "binary_search_tree.h" +#include <functional> + + +namespace dlib +{ + + template < + typename domain, + typename range, + typename mem_manager = default_memory_manager, + typename compare = std::less<domain> + > + class hash_table + { + hash_table() {} + + typedef typename binary_search_tree<domain,range,mem_manager,compare>::kernel_1a + bst_1; + typedef typename binary_search_tree<domain,range,mem_manager,compare>::kernel_2a + bst_2; + + public: + + //----------- kernels --------------- + + // kernel_1a + typedef hash_table_kernel_1<domain,range,mem_manager,compare> + kernel_1a; + typedef hash_table_kernel_c<kernel_1a> + kernel_1a_c; + + + // kernel_2a + typedef hash_table_kernel_2<domain,range,bst_1,mem_manager,compare> + kernel_2a; + typedef hash_table_kernel_c<kernel_2a> + kernel_2a_c; + + // kernel_2b + typedef hash_table_kernel_2<domain,range,bst_2,mem_manager,compare> + kernel_2b; + typedef hash_table_kernel_c<kernel_2b> + kernel_2b_c; + }; +} + +#endif // DLIB_HASH_TABLe_ + |