Metall  v0.29
A persistent memory allocator for data-centric analytics
tags.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_TAGS_HPP
7 #define METALL_TAGS_HPP
8 
9 #include <metall/detail/char_ptr_holder.hpp>
10 
11 namespace metall {
12 
15 struct create_only_t {};
16 
19 [[maybe_unused]] static const create_only_t create_only{};
20 
22 struct open_only_t {};
23 
25 [[maybe_unused]] static const open_only_t open_only{};
26 
28 struct open_read_only_t {};
29 
31 [[maybe_unused]] static const open_read_only_t open_read_only{};
32 
34 [[maybe_unused]] static const mtlldetail::anonymous_instance_t
35  *anonymous_instance = nullptr;
36 
38 [[maybe_unused]] static const mtlldetail::unique_instance_t *unique_instance =
39  nullptr;
40 } // namespace metall
41 
42 #endif // METALL_TAGS_HPP
The top level of namespace of Metall.
Definition: basic_manager.hpp:22
Tag type to create the segment always. The existing segment with the same name is over written.
Definition: tags.hpp:15
Tag type to open an already created segment.
Definition: tags.hpp:22
Tag type to open an already created segment as read only.
Definition: tags.hpp:28