refresh struct
This commit is contained in:
42
examples/concepts/main.cpp
Normal file
42
examples/concepts/main.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <set>
|
||||
#include <unordered_set>
|
||||
|
||||
#include "hack/logger/logger.hpp"
|
||||
#include "hack/concepts/concepts.hpp"
|
||||
|
||||
template<hack::concepts::is_map T>
|
||||
void test_map(const T& m)
|
||||
{
|
||||
hack::log()("is map", m);
|
||||
}
|
||||
|
||||
template<hack::concepts::is_associative_container T>
|
||||
void test_associative(const T& m)
|
||||
{
|
||||
hack::log()("is associative", m);
|
||||
}
|
||||
|
||||
template<hack::concepts::is_unordered_set T>
|
||||
void test_unordered_set(const T& m)
|
||||
{
|
||||
hack::log()("is unordered set", m);
|
||||
}
|
||||
|
||||
auto main(int argc, char *argv[]) -> int
|
||||
{
|
||||
std::map<std::string, int> 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<int> v { 1, 2, 3 };
|
||||
// test_associative(v); error !!!
|
||||
|
||||
std::unordered_set<int> us { 1, 2, 3 };
|
||||
test_unordered_set(us);
|
||||
test_associative(us);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user