aboutsummaryrefslogtreecommitdiff
path: root/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-29 20:59:02 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-29 20:59:02 +0000
commit3efcd4e54b8b374c90b362d763a726b9e025efae (patch)
tree11dad958946a61a8fc5051e9e9453d98a2742421 /test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
parent90c3c6c2a0a0afd28cbb5e117b278bdcdebfd85f (diff)
downloadsrc-3efcd4e54b8b374c90b362d763a726b9e025efae.tar.gz
src-3efcd4e54b8b374c90b362d763a726b9e025efae.zip
Notes
Diffstat (limited to 'test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp')
-rw-r--r--test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp b/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
index e3a35362b186..13773fb1f5f8 100644
--- a/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
+++ b/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
@@ -12,6 +12,7 @@
// <deque>
// template <class... Args> reference emplace_back(Args&&... args);
+// return type is 'reference' in C++17; 'void' before
#include <deque>
#include <cstddef>
@@ -49,15 +50,21 @@ void
test(C& c1)
{
typedef typename C::iterator I;
- typedef typename C::reference Ref;
std::size_t c1_osize = c1.size();
+#if TEST_STD_VER > 14
+ typedef typename C::reference Ref;
Ref ref = c1.emplace_back(Emplaceable(1, 2.5));
+#else
+ c1.emplace_back(Emplaceable(1, 2.5));
+#endif
assert(c1.size() == c1_osize + 1);
assert(distance(c1.begin(), c1.end())
== static_cast<std::ptrdiff_t>(c1.size()));
I i = c1.end();
assert(*--i == Emplaceable(1, 2.5));
+#if TEST_STD_VER > 14
assert(&(*i) == &ref);
+#endif
}
template <class C>