1 ////////////////////////////////////////////////////////////////////////////// 2 // 3 // (C) Copyright Ion Gaztanaga 2015-2015. Distributed under the Boost 4 // Software License, Version 1.0. (See accompanying file 5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 // 7 // See http://www.boost.org/libs/container for documentation. 8 // 9 ////////////////////////////////////////////////////////////////////////////// 10 11 #ifndef BOOST_CONTAINER_PMR_SET_HPP 12 #define BOOST_CONTAINER_PMR_SET_HPP 13 14 #if defined (_MSC_VER) 15 # pragma once 16 #endif 17 18 #include <boost/container/set.hpp> 19 #include <boost/container/pmr/polymorphic_allocator.hpp> 20 21 namespace boost { 22 namespace container { 23 namespace pmr { 24 25 #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) 26 27 template <class Key 28 ,class Compare = std::less<Key> 29 ,class Options = void > 30 using set = boost::container::set<Key, Compare, polymorphic_allocator<Key>, Options>; 31 32 template <class Key 33 ,class Compare = std::less<Key> 34 ,class Options = void > 35 using multiset = boost::container::multiset<Key, Compare, polymorphic_allocator<Key>, Options>; 36 37 #endif 38 39 //! A portable metafunction to obtain a set 40 //! that uses a polymorphic allocator 41 template <class Key 42 ,class Compare = std::less<Key> 43 ,class Options = void > 44 struct set_of 45 { 46 typedef boost::container::set<Key, Compare, polymorphic_allocator<Key>, Options> type; 47 }; 48 49 //! A portable metafunction to obtain a multiset 50 //! that uses a polymorphic allocator 51 template <class Key 52 ,class Compare = std::less<Key> 53 ,class Options = void > 54 struct multiset_of 55 { 56 typedef boost::container::multiset<Key, Compare, polymorphic_allocator<Key>, Options> type; 57 }; 58 59 } //namespace pmr { 60 } //namespace container { 61 } //namespace boost { 62 63 #endif //BOOST_CONTAINER_PMR_SET_HPP 64