21 template <
typename K,
typename V>
25 for (
size_t i = 0; i < items.size(); ++i)
29 std::cout <<
"(" << items[i].first <<
" -> " << items[i].second <<
")";
36 std::filesystem::path path;
41 std::filesystem::remove(path,
ec);
42 std::filesystem::remove(path.string() +
".lock",
ec);
43 std::filesystem::remove(path.string() +
".wal",
ec);
44 std::filesystem::remove(path.string() +
".wal.tmp",
ec);
45 std::filesystem::remove(path.string() +
".journal",
ec);
46 std::filesystem::remove(path.string() +
".journal.tmp",
ec);
53 const auto file_path =
54 std::filesystem::temp_directory_path() /
"aleph_file_b_map_example.idx";
55 Cleanup cleanup{file_path};
57 std::cout <<
"Persistent B-Tree map example\n";
58 std::cout <<
"=============================\n";
59 std::cout <<
"file path : " << file_path.string() <<
"\n";
69 std::cout <<
"first session\n";
70 std::cout <<
"-------------\n";
71 std::cout <<
"inventory : ";
74 std::cout <<
"page count : " <<
inventory.page_count() <<
"\n";
78 std::cout <<
"\nafter reopen\n";
79 std::cout <<
"------------\n";
80 std::cout <<
"read only : " << std::boolalpha <<
reopened.is_read_only() <<
"\n";
81 std::cout <<
"inventory : ";
84 std::cout <<
"lower_bound(15): ";
87 std::cout <<
"(" <<
lb->first <<
" -> " <<
lb->second <<
")";
89 std::cout <<
"(none)";
Simple dynamic array with automatic resizing and functional operations.
Persistent ordered map backed by a paged File_B_Tree.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
Persistent key/value map built on top of Aleph::File_B_Tree.