summaryrefslogtreecommitdiff
path: root/boost/signals2
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:08:07 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:09:00 +0900
commitb5c87084afaef42b2d058f68091be31988a6a874 (patch)
treeadef9a65870a41181687e11d57fdf98e7629de3c /boost/signals2
parent34bd32e225e2a8a94104489b31c42e5801cc1f4a (diff)
downloadboost-b5c87084afaef42b2d058f68091be31988a6a874.tar.gz
boost-b5c87084afaef42b2d058f68091be31988a6a874.tar.bz2
boost-b5c87084afaef42b2d058f68091be31988a6a874.zip
Imported Upstream version 1.64.0upstream/1.64.0
Change-Id: Id9212edd016dd55f21172c427aa7894d1d24148b Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/signals2')
-rw-r--r--boost/signals2/deconstruct.hpp2
-rw-r--r--boost/signals2/detail/auto_buffer.hpp4
-rw-r--r--boost/signals2/detail/signal_template.hpp1
-rw-r--r--boost/signals2/detail/signals_common_macros.hpp6
-rw-r--r--boost/signals2/detail/slot_template.hpp2
-rw-r--r--boost/signals2/detail/variadic_arg_type.hpp19
6 files changed, 19 insertions, 15 deletions
diff --git a/boost/signals2/deconstruct.hpp b/boost/signals2/deconstruct.hpp
index 462fa1d21f..dd78d921ee 100644
--- a/boost/signals2/deconstruct.hpp
+++ b/boost/signals2/deconstruct.hpp
@@ -64,7 +64,7 @@ public:
}
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template<class... Args>
- const shared_ptr<T>& postconstruct(Args && ... args)
+ const shared_ptr<T>& postconstruct(Args && ... args) const
{
if(!_postconstructed)
{
diff --git a/boost/signals2/detail/auto_buffer.hpp b/boost/signals2/detail/auto_buffer.hpp
index 0970d3da90..4c55a751ae 100644
--- a/boost/signals2/detail/auto_buffer.hpp
+++ b/boost/signals2/detail/auto_buffer.hpp
@@ -971,7 +971,7 @@ namespace detail
pointer uninitialized_grow( size_type n ) // strong
{
- if( size_ + n <= members_.capacity_ )
+ if( size_ + n > members_.capacity_ )
reserve( size_ + n );
pointer res = end();
@@ -1116,7 +1116,7 @@ namespace detail
inline bool operator<=( const auto_buffer<T,SBP,GP,A>& l,
const auto_buffer<T,SBP,GP,A>& r )
{
- return !(r > l);
+ return !(l > r);
}
template< class T, class SBP, class GP, class A >
diff --git a/boost/signals2/detail/signal_template.hpp b/boost/signals2/detail/signal_template.hpp
index 036876727a..b92a143ade 100644
--- a/boost/signals2/detail/signal_template.hpp
+++ b/boost/signals2/detail/signal_template.hpp
@@ -599,7 +599,6 @@ namespace boost
class BOOST_SIGNALS2_SIGNAL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
BOOST_SIGNALS2_SIGNAL_TEMPLATE_SPECIALIZATION: public signal_base,
public detail::BOOST_SIGNALS2_STD_FUNCTIONAL_BASE
- (typename detail::result_type_wrapper<typename Combiner::result_type>::type)
{
typedef detail::BOOST_SIGNALS2_SIGNAL_IMPL_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS)
<BOOST_SIGNALS2_SIGNAL_TEMPLATE_INSTANTIATION> impl_class;
diff --git a/boost/signals2/detail/signals_common_macros.hpp b/boost/signals2/detail/signals_common_macros.hpp
index 4ca4403827..acc0936281 100644
--- a/boost/signals2/detail/signals_common_macros.hpp
+++ b/boost/signals2/detail/signals_common_macros.hpp
@@ -137,7 +137,7 @@
#define BOOST_SIGNALS2_SIGNAL_TEMPLATE_SPECIALIZATION_DECL(arity) BOOST_SIGNALS2_SIGNAL_TEMPLATE_DECL(arity)
#define BOOST_SIGNALS2_SIGNAL_TEMPLATE_SPECIALIZATION
-#define BOOST_SIGNALS2_STD_FUNCTIONAL_BASE(result_type) std_functional_base
+#define BOOST_SIGNALS2_STD_FUNCTIONAL_BASE std_functional_base
#define BOOST_SIGNALS2_PP_COMMA_IF(arity) BOOST_PP_COMMA_IF(arity)
@@ -205,8 +205,8 @@
ExtendedSlotFunction, \
Mutex>
-#define BOOST_SIGNALS2_STD_FUNCTIONAL_BASE(result_type) \
- std_functional_base<result_type , Args...>
+#define BOOST_SIGNALS2_STD_FUNCTIONAL_BASE \
+ std_functional_base<Args...>
#define BOOST_SIGNALS2_PP_COMMA_IF(arity) ,
diff --git a/boost/signals2/detail/slot_template.hpp b/boost/signals2/detail/slot_template.hpp
index fc19f5139c..1c17c5b76a 100644
--- a/boost/signals2/detail/slot_template.hpp
+++ b/boost/signals2/detail/slot_template.hpp
@@ -35,7 +35,7 @@ namespace boost
template<BOOST_SIGNALS2_SLOT_TEMPLATE_SPECIALIZATION_DECL(BOOST_SIGNALS2_NUM_ARGS)>
class BOOST_SIGNALS2_SLOT_CLASS_NAME(BOOST_SIGNALS2_NUM_ARGS) BOOST_SIGNALS2_SLOT_TEMPLATE_SPECIALIZATION
- : public slot_base, public detail::BOOST_SIGNALS2_STD_FUNCTIONAL_BASE(R)
+ : public slot_base, public detail::BOOST_SIGNALS2_STD_FUNCTIONAL_BASE
{
public:
diff --git a/boost/signals2/detail/variadic_arg_type.hpp b/boost/signals2/detail/variadic_arg_type.hpp
index 14d54b2e3e..6079c16332 100644
--- a/boost/signals2/detail/variadic_arg_type.hpp
+++ b/boost/signals2/detail/variadic_arg_type.hpp
@@ -32,15 +32,20 @@ namespace boost
typedef typename variadic_arg_type<n - 1, Args...>::type type;
};
- template <typename R, typename ... Args>
+ template <typename ... Args>
struct std_functional_base
{};
- template <typename R, typename T1>
- struct std_functional_base<R, T1>: public std::unary_function<T1, R>
- {};
- template <typename R, typename T1, typename T2>
- struct std_functional_base<R, T1, T2>: public std::binary_function<T1, T2, R>
- {};
+ template <typename T1>
+ struct std_functional_base<T1>
+ {
+ typedef T1 argument_type;
+ };
+ template <typename T1, typename T2>
+ struct std_functional_base<T1, T2>
+ {
+ typedef T1 first_argument_type;
+ typedef T2 second_argument_type;
+ };
} // namespace detail
} // namespace signals2
} // namespace boost