Metall  v0.29
A persistent memory allocator for data-centric analytics
metall.hpp
Go to the documentation of this file.
1 // Copyright 2019 Lawrence Livermore National Security, LLC and other Metall
2 // Project Developers. See the top-level COPYRIGHT file for details.
3 //
4 // SPDX-License-Identifier: (Apache-2.0 OR MIT)
5 
6 #ifndef METALL_METALL_HPP
7 #define METALL_METALL_HPP
8 
9 #include <metall/defs.hpp>
10 #include <metall/basic_manager.hpp>
11 #include <metall/logger.hpp>
12 #include <metall/version.hpp>
13 
14 #if defined(METALL_USE_UMAP) && defined(METALL_USE_PRIVATEER)
15 #error \
16  "METALL_USE_UMAP and METALL_USE_PRIVATEER cannot be defined at the same time"
17 #endif
18 
19 #ifdef METALL_USE_PRIVATEER
20 #include <metall/ext/privateer.hpp>
21 #endif
22 
23 #ifdef METALL_USE_UMAP
24 #include <metall/ext/umap.hpp>
25 #endif
26 
29 namespace metall {
30 
31 #if !(defined(METALL_USE_PRIVATEER) || defined(METALL_USE_UMAP))
35 #endif
36 
37 } // namespace metall
38 
41 
44 
48 
51 
54 
57 
61 
65 
69 
72 
75 
78 
81 
84 
87 
88 #endif // METALL_METALL_HPP
A generalized Metall manager class.
Definition: basic_manager.hpp:40
Common definitions for Metall.
The top level of namespace of Metall.
Definition: basic_manager.hpp:22