diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-07-21 03:20:17 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-07-21 03:20:17 +0000 |
commit | 0e411641a338b0effbdcbcd6f0772a0663729afd (patch) | |
tree | 0c0f13d524a1dede6b8bf225a6110a9bfc19efd9 /libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp | |
parent | fa7c6f0d84bc1148eb1d17a18ad0b80d5521ba16 (diff) | |
download | bcm5719-llvm-0e411641a338b0effbdcbcd6f0772a0663729afd.tar.gz bcm5719-llvm-0e411641a338b0effbdcbcd6f0772a0663729afd.zip |
Implement P0084r2. Changing emplace return types.
llvm-svn: 276230
Diffstat (limited to 'libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp')
-rw-r--r-- | libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp b/libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp index 3573c220ece..71fe903b74a 100644 --- a/libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp @@ -7,9 +7,11 @@ // //===----------------------------------------------------------------------===// +// UNSUPPORTED: c++98, c++03 + // <stack> -// template <class... Args> void emplace(Args&&... args); +// template <class... Args> reference emplace(Args&&... args); #include <stack> #include <cassert> @@ -18,12 +20,14 @@ int main() { -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + typedef Emplaceable T; std::stack<Emplaceable> q; - q.emplace(1, 2.5); - q.emplace(2, 3.5); - q.emplace(3, 4.5); + T& r1 = q.emplace(1, 2.5); + assert(&r1 == &q.top()); + T& r2 = q.emplace(2, 3.5); + assert(&r2 == &q.top()); + T& r3 = q.emplace(3, 4.5); + assert(&r3 == &q.top()); assert(q.size() == 3); assert(q.top() == Emplaceable(3, 4.5)); -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES } |