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);
50 template <
typename Map>
55 for (
auto it = map.get_range_it(first, last); it.has_curr(); it.next_ne())
59 const auto item = it.get_curr();
60 std::cout <<
"(" << item.first <<
" -> " << item.second <<
")";
69 const auto file_path =
70 std::filesystem::temp_directory_path() /
"aleph_file_bplus_map_example.idx";
71 Cleanup cleanup{file_path};
73 std::cout <<
"Persistent B+ Tree map example\n";
74 std::cout <<
"==============================\n";
75 std::cout <<
"file path : " << file_path.string() <<
"\n";
83 prices.insert_or_assign(110, 875);
86 std::cout <<
"first session\n";
87 std::cout <<
"-------------\n";
88 std::cout <<
"all items : ";
91 std::cout <<
"range 104..115: ";
94 std::cout <<
"iter 104..115 : ";
101 std::cout <<
"\nafter reopen\n";
102 std::cout <<
"------------\n";
103 std::cout <<
"read only : " << std::boolalpha <<
reopened.is_read_only() <<
"\n";
104 std::cout <<
"all items : ";
107 std::cout <<
"iter 104..115 : ";
110 std::cout <<
"upper_bound(110): ";
113 std::cout <<
"(" <<
ub->first <<
" -> " <<
ub->second <<
")";
115 std::cout <<
"(none)";
Simple dynamic array with automatic resizing and functional operations.
Persistent ordered map backed by a paged File_BPlus_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_BPlus_Tree.