#include #include #include "hack/logger/logger.hpp" #include "hack/concepts/concepts.hpp" template void test_map(const T& m) { hack::log()("is map", m); } template void test_associative(const T& m) { hack::log()("is associative", m); } template void test_unordered_set(const T& m) { hack::log()("is unordered set", m); } auto main(int argc, char *argv[]) -> int { std::map m { { "a", 1 }, { "b", 2 } }; test_map(m); test_associative(m); auto t = std::make_tuple("a", 1, "b", 2); test_associative(t); std::vector v { 1, 2, 3 }; // test_associative(v); error !!! std::unordered_set us { 1, 2, 3 }; test_unordered_set(us); test_associative(us); }