|
@@ -1666,11 +1666,36 @@ class __bind
|
|
|
|
|
|
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 @@ class __bind_r
|
|
|
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)
|