//===----------------------------------------------------------------------===// // // 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 // TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed // UNSUPPORTED: availability-pmr-missing // // namespace std::pmr { // template > // using map = // ::std::map>> // // template > // using multimap = // ::std::multimap>> // // } // namespace std::pmr #include #include #include #include int main(int, char**) { using K = int; using V = char; using DC = std::less; using OC = std::greater; using P = std::pair; { using StdMap = std::map>; using PmrMap = std::pmr::map; static_assert(std::is_same::value, ""); } { using StdMap = std::map>; using PmrMap = std::pmr::map; static_assert(std::is_same::value, ""); } { std::pmr::map m; assert(m.get_allocator().resource() == std::pmr::get_default_resource()); } { using StdMap = std::multimap>; using PmrMap = std::pmr::multimap; static_assert(std::is_same::value, ""); } { using StdMap = std::multimap>; using PmrMap = std::pmr::multimap; static_assert(std::is_same::value, ""); } { std::pmr::multimap m; assert(m.get_allocator().resource() == std::pmr::get_default_resource()); } return 0; }