aboutsummaryrefslogtreecommitdiff
path: root/include/queue
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 /include/queue
parent90c3c6c2a0a0afd28cbb5e117b278bdcdebfd85f (diff)
Notes
Diffstat (limited to 'include/queue')
-rw-r--r--include/queue7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/queue b/include/queue
index 271c203e1d24..57d420c7406c 100644
--- a/include/queue
+++ b/include/queue
@@ -63,7 +63,7 @@ public:
void push(const value_type& v);
void push(value_type&& v);
- template <class... Args> reference emplace(Args&&... args);
+ template <class... Args> reference emplace(Args&&... args); // reference in C++17
void pop();
void swap(queue& q) noexcept(is_nothrow_swappable_v<Container>)
@@ -292,8 +292,13 @@ public:
#ifndef _LIBCPP_HAS_NO_VARIADICS
template <class... _Args>
_LIBCPP_INLINE_VISIBILITY
+#if _LIBCPP_STD_VER > 14
reference emplace(_Args&&... __args)
{ return c.emplace_back(_VSTD::forward<_Args>(__args)...);}
+#else
+ void emplace(_Args&&... __args)
+ { c.emplace_back(_VSTD::forward<_Args>(__args)...);}
+#endif
#endif // _LIBCPP_HAS_NO_VARIADICS
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY