// -*- C++ -*- //===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // REQUIRES: c++experimental // UNSUPPORTED: c++98, c++03 // // namespace std { namespace experimental { namespace pmr { // template > // using set = // ::std::set> // // template > // using multiset = // ::std::multiset> // // }}} // namespace std::experimental::pmr #include #include #include #include namespace pmr = std::experimental::pmr; int main() { using V = char; using DC = std::less; using OC = std::greater; { using StdSet = std::set>; using PmrSet = pmr::set; static_assert(std::is_same::value, ""); } { using StdSet = std::set>; using PmrSet = pmr::set; static_assert(std::is_same::value, ""); } { pmr::set m; assert(m.get_allocator().resource() == pmr::get_default_resource()); } { using StdSet = std::multiset>; using PmrSet = pmr::multiset; static_assert(std::is_same::value, ""); } { using StdSet = std::multiset>; using PmrSet = pmr::multiset; static_assert(std::is_same::value, ""); } { pmr::multiset m; assert(m.get_allocator().resource() == pmr::get_default_resource()); } }