//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template , class Pred = equal_to, // class Alloc = allocator> // class unordered_set // template // pair emplace(Args&&... args); #include #include #include "../../Emplaceable.h" int main() { #ifdef _LIBCPP_MOVE { typedef std::unordered_set C; typedef std::pair R; C c; R r = c.emplace(); assert(c.size() == 1); assert(*r.first == Emplaceable()); assert(r.second); r = c.emplace(Emplaceable(5, 6)); assert(c.size() == 2); assert(*r.first == Emplaceable(5, 6)); assert(r.second); r = c.emplace(5, 6); assert(c.size() == 2); assert(*r.first == Emplaceable(5, 6)); assert(!r.second); } #endif }