metall/0.27

Meta allocator for persistent memory
Recipe info
2023-12-01

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
metall/0.27

Using metall

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
metall/0.27
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("metall/0.27")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): Metall
  • CMake target name(s): Metall::Metall
  • pkg-config file name(s): metall.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(Metall REQUIRED)
# ...
target_link_libraries(YOUR_TARGET Metall::Metall)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the metall homepage listed above:

#include "metall/basic_manager.hpp"
#include "metall/c_api/metall.h"
#include "metall/container/concurrent_map.hpp"
#include "metall/container/deque.hpp"
#include "metall/container/experimental/jgraph/jgraph.hpp"
#include "metall/container/experimental/json/json.hpp"
#include "metall/container/list.hpp"
#include "metall/container/map.hpp"
#include "metall/container/priority_queue.hpp"
#include "metall/container/queue.hpp"
#include "metall/container/scoped_allocator.hpp"
#include "metall/container/set.hpp"
#include "metall/container/stack.hpp"
#include "metall/container/string.hpp"
#include "metall/container/string_key_store.hpp"
#include "metall/container/string_key_store_locator.hpp"
#include "metall/container/unordered_flat_map.hpp"
#include "metall/container/unordered_flat_set.hpp"
#include "metall/container/unordered_map.hpp"
#include "metall/container/unordered_node_map.hpp"
#include "metall/container/unordered_node_set.hpp"
#include "metall/container/unordered_set.hpp"
#include "metall/container/vector.hpp"
#include "metall/defs.hpp"
#include "metall/detail/array_construct.hpp"
#include "metall/detail/bitset.hpp"
#include "metall/detail/builtin_functions.hpp"
#include "metall/detail/char_ptr_holder.hpp"
#include "metall/detail/file.hpp"
#include "metall/detail/file_clone.hpp"
#include "metall/detail/hash.hpp"
#include "metall/detail/in_place_interface.hpp"
#include "metall/detail/memory.hpp"
#include "metall/detail/mmap.hpp"
#include "metall/detail/mutex.hpp"
#include "metall/detail/named_proxy.hpp"
#include "metall/detail/parameter_pack.hpp"
#include "metall/detail/proc.hpp"
#include "metall/detail/ptree.hpp"
#include "metall/detail/soft_dirty_page.hpp"
#include "metall/detail/static_bitset.hpp"
#include "metall/detail/time.hpp"
#include "metall/detail/utilities.hpp"
#include "metall/detail/uuid.hpp"
#include "metall/json/array.hpp"
#include "metall/json/details/compact_object.hpp"
#include "metall/json/details/indexed_object.hpp"
#include "metall/json/equal.hpp"
#include "metall/json/json.hpp"
#include "metall/json/json_fwd.hpp"
#include "metall/json/key_value_pair.hpp"
#include "metall/json/object.hpp"
#include "metall/json/parse.hpp"
#include "metall/json/pretty_print.hpp"
#include "metall/json/serialize.hpp"
#include "metall/json/string.hpp"
#include "metall/json/value.hpp"
#include "metall/json/value_from.hpp"
#include "metall/json/value_to.hpp"
#include "metall/kernel/attributed_object_directory.hpp"
#include "metall/kernel/bin_directory.hpp"
#include "metall/kernel/bin_number_manager.hpp"
#include "metall/kernel/chunk_directory.hpp"
#include "metall/kernel/manager_kernel.hpp"
#include "metall/kernel/manager_kernel_fwd.hpp"
#include "metall/kernel/manager_kernel_impl.ipp"
#include "metall/kernel/manager_kernel_profile_impl.ipp"
#include "metall/kernel/multilayer_bitset.hpp"
#include "metall/kernel/object_cache.hpp"
#include "metall/kernel/object_size_manager.hpp"
#include "metall/kernel/segment_allocator.hpp"
#include "metall/kernel/segment_header.hpp"
#include "metall/kernel/segment_storage/mmap_segment_storage.hpp"
#include "metall/kernel/segment_storage/umap_sparse_segment_storage.hpp"
#include "metall/logger.hpp"
#include "metall/metall.hpp"
#include "metall/object_attribute_accessor.hpp"
#include "metall/offset_ptr.hpp"
#include "metall/stl_allocator.hpp"
#include "metall/tags.hpp"
#include "metall/utility/container_of_containers_iterator_adaptor.hpp"
#include "metall/utility/datastore_ls.hpp"
#include "metall/utility/fallback_allocator_adaptor.hpp"
#include "metall/utility/filesystem.hpp"
#include "metall/utility/hash.hpp"
#include "metall/utility/metall_mpi_adaptor.hpp"
#include "metall/utility/metall_mpi_datastore.hpp"
#include "metall/utility/mpi.hpp"
#include "metall/utility/mutex.hpp"
#include "metall/utility/open_mp.hpp"
#include "metall/utility/random.hpp"
#include "metall/version.hpp"