package("robin-map") set_kind("library", {headeronly = true}) set_homepage("https://github.com/Tessil/robin-map") set_description("A C++ implementation of a fast hash map and hash set using robin hood hashing") set_license("MIT") add_urls("https://github.com/Tessil/robin-map/archive/refs/tags/$(version).tar.gz", "https://github.com/Tessil/robin-map.git") add_versions("v1.4.0", "7930dbf9634acfc02686d87f615c0f4f33135948130b8922331c16d90a03250c") add_versions("v1.3.0", "a8424ad3b0affd4c57ed26f0f3d8a29604f0e1f2ef2089f497f614b1c94c7236") add_versions("v1.2.2", "c72767ecea2a90074c7efbe91620c8f955af666505e22782e82813c652710821") add_versions("v1.2.1", "2b54d2c1de2f73bea5c51d5dcbd64813a08caf1bfddcfdeee40ab74e9599e8e3") add_versions("v0.6.3", "e6654c8c2598f63eb0b1d52ff8bdf39cfcc91d81dd5d05274a6dca91241cd72f") add_deps("cmake") on_install(function (package) import("package.tools.cmake").install(package) end) on_test(function (package) local languages if package:version() and package:version():ge("1.4.0") then languages = "c++17" else languages = "c++11" end assert(package:check_cxxsnippets({test = [[ void test() { tsl::robin_map map = {{1, 1}, {2, 1}, {3, 1}}; for (auto it = map.begin(); it != map.end(); ++it) { it.value() = 2; } } ]]}, {configs = {languages = languages}, includes = "tsl/robin_map.h"})) end)