1*7c82a1ecSDimitry Andric// -*- C++ -*- 2*7c82a1ecSDimitry Andric//===------------------------- unordered_set ------------------------------===// 3*7c82a1ecSDimitry Andric// 4*7c82a1ecSDimitry Andric// The LLVM Compiler Infrastructure 5*7c82a1ecSDimitry Andric// 6*7c82a1ecSDimitry Andric// This file is dual licensed under the MIT and the University of Illinois Open 7*7c82a1ecSDimitry Andric// Source Licenses. See LICENSE.TXT for details. 8*7c82a1ecSDimitry Andric// 9*7c82a1ecSDimitry Andric//===----------------------------------------------------------------------===// 10*7c82a1ecSDimitry Andric 11*7c82a1ecSDimitry Andric#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_SET 12*7c82a1ecSDimitry Andric#define _LIBCPP_EXPERIMENTAL_UNORDERED_SET 13*7c82a1ecSDimitry Andric/* 14*7c82a1ecSDimitry Andric experimental/unordered_set synopsis 15*7c82a1ecSDimitry Andric 16*7c82a1ecSDimitry Andric// C++1z 17*7c82a1ecSDimitry Andricnamespace std { 18*7c82a1ecSDimitry Andricnamespace experimental { 19*7c82a1ecSDimitry Andricinline namespace fundamentals_v1 { 20*7c82a1ecSDimitry Andricnamespace pmr { 21*7c82a1ecSDimitry Andric 22*7c82a1ecSDimitry Andric template <class T, class Hash = hash<T>, class Pred = equal_to<T>> 23*7c82a1ecSDimitry Andric using unordered_set = std::unordered_set<T, Hash, Pred, 24*7c82a1ecSDimitry Andric polymorphic_allocator<T>>; 25*7c82a1ecSDimitry Andric 26*7c82a1ecSDimitry Andric template <class T, class Hash = hash<T>, class Pred = equal_to<T>> 27*7c82a1ecSDimitry Andric using unordered_multiset = std::unordered_multiset<T, Hash, Pred, 28*7c82a1ecSDimitry Andric polymorphic_allocator<T>>; 29*7c82a1ecSDimitry Andric 30*7c82a1ecSDimitry Andric} // namespace pmr 31*7c82a1ecSDimitry Andric} // namespace fundamentals_v1 32*7c82a1ecSDimitry Andric} // namespace experimental 33*7c82a1ecSDimitry Andric} // namespace std 34*7c82a1ecSDimitry Andric 35*7c82a1ecSDimitry Andric */ 36*7c82a1ecSDimitry Andric 37*7c82a1ecSDimitry Andric#include <experimental/__config> 38*7c82a1ecSDimitry Andric#include <unordered_set> 39*7c82a1ecSDimitry Andric#include <experimental/memory_resource> 40*7c82a1ecSDimitry Andric 41*7c82a1ecSDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 42*7c82a1ecSDimitry Andric#pragma GCC system_header 43*7c82a1ecSDimitry Andric#endif 44*7c82a1ecSDimitry Andric 45*7c82a1ecSDimitry Andric_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 46*7c82a1ecSDimitry Andric 47*7c82a1ecSDimitry Andrictemplate <class _Value, 48*7c82a1ecSDimitry Andric class _Hash = hash<_Value>, class _Pred = equal_to<_Value>> 49*7c82a1ecSDimitry Andricusing unordered_set = _VSTD::unordered_set<_Value, _Hash, _Pred, 50*7c82a1ecSDimitry Andric polymorphic_allocator<_Value>>; 51*7c82a1ecSDimitry Andric 52*7c82a1ecSDimitry Andrictemplate <class _Value, 53*7c82a1ecSDimitry Andric class _Hash = hash<_Value>, class _Pred = equal_to<_Value>> 54*7c82a1ecSDimitry Andricusing unordered_multiset = _VSTD::unordered_multiset<_Value, _Hash, _Pred, 55*7c82a1ecSDimitry Andric polymorphic_allocator<_Value>>; 56*7c82a1ecSDimitry Andric 57*7c82a1ecSDimitry Andric_LIBCPP_END_NAMESPACE_LFTS_PMR 58*7c82a1ecSDimitry Andric 59*7c82a1ecSDimitry Andric#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_SET */ 60