cplusplus17.Examples/examples/persist_map/persist_map_int.cpp
Source: cplusplus17.Examples/examples/persist_map/persist_map_int.cpp
// Enter quit for the requested key to quit program
// Enter erase to erase file/map
#include"permap.hpp"
#include<algorithm>
#include<cstdlib>
int main() {
persist::PersistMap<int> int_map("int.txt",persist::GenericRead<int>, persist::GenericWrite<int>);
while(1) {
std::string key,value;
std::cout << "Enter key: ";
std::getline(std::cin, key);
if(key == "quit") break;
if(key == "erase") {
int_map.EraseFile();
std::cout << "Erased..\n";
continue;
}
std::cout << "Enter value: ";
std::getline(std::cin, value);
int_map[key] = atoi(value.c_str());
std::cout << "\n\nCurrent Values: \n";
for(auto i = int_map->begin(); i != int_map->end(); ++i) {
auto [map_key, map_value] = *i;
std::cout << map_key << " = " << map_value << "\n";
}
}
return 0;
}