working hmap class
This commit is contained in:
@@ -182,23 +182,8 @@ int main()
|
||||
|
||||
std::print("push element with key '{}' and value {}\t...", k2, s1);
|
||||
ok = hm.push(
|
||||
k2, s1,
|
||||
[](auto const& v) -> decltype(hm)::hmap_expected_t<const char*> {
|
||||
return v.c_str();
|
||||
// if (v) {
|
||||
// return v.c_str();
|
||||
// } else {
|
||||
// return std::unexpected(v.error());
|
||||
// }
|
||||
},
|
||||
[](auto const& v) -> decltype(hm)::hmap_expected_t<std::string> {
|
||||
return std::string(v.value());
|
||||
// if (v) {
|
||||
// return std::string(v.value());
|
||||
// } else {
|
||||
// return std::unexpected(v.error());
|
||||
// }
|
||||
});
|
||||
k2, s1, [](auto const& v) -> hmap_expected_t<const char*> { return v.c_str(); },
|
||||
[](auto const& v) -> hmap_expected_t<std::string> { return std::string(v); });
|
||||
if (!ok) {
|
||||
std::println("cannot insert the value {}", s1);
|
||||
} else {
|
||||
@@ -213,6 +198,8 @@ int main()
|
||||
std::println("OK");
|
||||
}
|
||||
|
||||
std::println("in total {} elelents were pushed", hm.size());
|
||||
|
||||
std::println("\n");
|
||||
|
||||
std::print("get '{}'-element as double: ", k1);
|
||||
@@ -223,5 +210,15 @@ int main()
|
||||
std::println("FAIL");
|
||||
}
|
||||
|
||||
std::println("\n");
|
||||
|
||||
std::print("get '{}'-element as const char*: ", k2);
|
||||
auto sp2 = hm.get<const char*>(k2);
|
||||
if (sp2) {
|
||||
std::println("{}", sp2.value());
|
||||
} else {
|
||||
std::println("FAIL");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user