//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 #include #include #include "associative_container_benchmarks.h" #include "../../GenerateInput.h" #include "benchmark/benchmark.h" template struct support::adapt_operations> { using ValueType = typename std::multimap::value_type; using KeyType = typename std::multimap::key_type; static ValueType value_from_key(KeyType const& k) { return {k, Generate::arbitrary()}; } static KeyType key_from_value(ValueType const& value) { return value.first; } using InsertionResult = typename std::multimap::iterator; static auto get_iterator(InsertionResult const& result) { return result; } }; int main(int argc, char** argv) { support::associative_container_benchmarks>("std::multimap"); support::associative_container_benchmarks>("std::multimap"); benchmark::Initialize(&argc, argv); benchmark::RunSpecifiedBenchmarks(); benchmark::Shutdown(); return 0; }