[cfe-commits] [libcxx] r134325 - /libcxx/trunk/include/functional
Howard Hinnant
hhinnant at apple.com
Sat Jul 2 11:22:36 PDT 2011
Author: hhinnant
Date: Sat Jul 2 13:22:36 2011
New Revision: 134325
URL: http://llvm.org/viewvc/llvm-project?rev=134325&view=rev
Log:
http://llvm.org/bugs/show_bug.cgi?id=10250
Modified:
libcxx/trunk/include/functional
Modified: libcxx/trunk/include/functional
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/functional?rev=134325&r1=134324&r2=134325&view=diff
==============================================================================
--- libcxx/trunk/include/functional (original)
+++ libcxx/trunk/include/functional Sat Jul 2 13:22:36 2011
@@ -1666,11 +1666,36 @@
typedef typename __make_tuple_indices<sizeof...(_BoundArgs)>::type __indices;
public:
+#ifdef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+
+ _LIBCPP_INLINE_VISIBILITY
+ __bind(const __bind& __b)
+ : __f_(__b.__f_),
+ __bound_args_(__b.__bound_args_) {}
+
+ _LIBCPP_INLINE_VISIBILITY
+ __bind& operator=(const __bind& __b)
+ {
+ __f_ = __b.__f_;
+ __bound_args_ = __b.__bound_args_;
+ return *this;
+ }
+
_LIBCPP_INLINE_VISIBILITY
__bind(__bind&& __b)
: __f_(_VSTD::move(__b.__f_)),
__bound_args_(_VSTD::move(__b.__bound_args_)) {}
+ _LIBCPP_INLINE_VISIBILITY
+ __bind& operator=(__bind&& __b)
+ {
+ __f_ = _VSTD::move(__b.__f_);
+ __bound_args_ = _VSTD::move(__b.__bound_args_);
+ return *this;
+ }
+
+#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+
template <class _G, class ..._BA>
_LIBCPP_INLINE_VISIBILITY
explicit __bind(_G&& __f, _BA&& ...__bound_args)
@@ -1707,10 +1732,32 @@
public:
typedef _R result_type;
+#ifdef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+
+ _LIBCPP_INLINE_VISIBILITY
+ __bind_r(const __bind_r& __b)
+ : base(_VSTD::forward<const base&>(__b)) {}
+
+ _LIBCPP_INLINE_VISIBILITY
+ __bind_r& operator=(const __bind_r& __b)
+ {
+ base::operator=(_VSTD::forward<const base&>(__b));
+ return *this;
+ }
+
_LIBCPP_INLINE_VISIBILITY
__bind_r(__bind_r&& __b)
: base(_VSTD::forward<base>(__b)) {}
+ _LIBCPP_INLINE_VISIBILITY
+ __bind_r& operator=(__bind_r&& __b)
+ {
+ base::operator=(_VSTD::forward<base>(__b));
+ return *this;
+ }
+
+#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+
template <class _G, class ..._BA>
_LIBCPP_INLINE_VISIBILITY
explicit __bind_r(_G&& __f, _BA&& ...__bound_args)
More information about the cfe-commits
mailing list