Volume Cartographer 2.27.0
MemMap.hpp
Go to the documentation of this file.
1#pragma once
2
5#include <cstdint>
6
8
9namespace volcart
10{
11
12namespace endian
13{
15auto little() -> bool;
16
18auto big() -> bool;
19} // namespace endian
20
22struct mmap_info {
24 explicit operator bool() const;
26 void* addr{nullptr};
28 std::int64_t size{-1};
29};
30
39 auto_mmap_info() = default;
40
42 explicit auto_mmap_info(const mmap_info& rhs);
44 explicit auto_mmap_info(mmap_info&& rhs);
46 auto operator=(const mmap_info& rhs) -> auto_mmap_info&;
49
51 auto operator=(auto_mmap_info&& rhs) noexcept -> auto_mmap_info&;
52
54 explicit auto_mmap_info(auto_mmap_info&) = delete;
56 explicit auto_mmap_info(const auto_mmap_info&) = delete;
60 auto operator=(const auto_mmap_info&) -> auto_mmap_info& = delete;
61
64};
65
81auto MemmapFile(const filesystem::path& path) -> mmap_info;
82
93
95auto memmap_supported() -> bool;
96} // namespace volcart
auto big() -> bool
auto little() -> bool
Volume Cartographer library
auto UnmapFile(mmap_info &mmap_info) -> int
Unmap a memory mapped file.
auto memmap_supported() -> bool
auto MemmapFile(const filesystem::path &path) -> mmap_info
Memory map a file.
Memmap record which automatically unmaps the file on destruction.
Definition: MemMap.hpp:37
auto operator=(mmap_info &&rhs) -> auto_mmap_info &
auto operator=(auto_mmap_info &) -> auto_mmap_info &=delete
auto operator=(auto_mmap_info &&rhs) noexcept -> auto_mmap_info &
auto_mmap_info(auto_mmap_info &)=delete
auto operator=(const auto_mmap_info &) -> auto_mmap_info &=delete
auto_mmap_info(const auto_mmap_info &)=delete
auto_mmap_info(const mmap_info &rhs)
auto operator=(const mmap_info &rhs) -> auto_mmap_info &
auto_mmap_info(mmap_info &&rhs)
Memmap record.
Definition: MemMap.hpp:22
std::int64_t size
Definition: MemMap.hpp:28