Problem: send_multipart fails on old gcc versions

Solution: remove template type checks if there is only partial C++11 support
This commit is contained in:
Gudmundur Adalsteinsson 2020-03-07 13:22:01 +00:00
parent 5999e5adc7
commit 5ecbf86bcf

View File

@ -123,11 +123,14 @@ ZMQ_NODISCARD recv_result_t recv_multipart_n(socket_ref s,
by the msgs range will be propagated and the message by the msgs range will be propagated and the message
may have been only partially sent. It is adviced to close this socket in that event. may have been only partially sent. It is adviced to close this socket in that event.
*/ */
template<class Range, template<class Range
typename = typename std::enable_if< #ifndef ZMQ_CPP11_PARTIAL
, typename = typename std::enable_if<
detail::is_range<Range>::value detail::is_range<Range>::value
&& (std::is_same<detail::range_value_t<Range>, message_t>::value && (std::is_same<detail::range_value_t<Range>, message_t>::value
|| detail::is_buffer<detail::range_value_t<Range>>::value)>::type> || detail::is_buffer<detail::range_value_t<Range>>::value)>::type
#endif
>
send_result_t send_result_t
send_multipart(socket_ref s, Range &&msgs, send_flags flags = send_flags::none) send_multipart(socket_ref s, Range &&msgs, send_flags flags = send_flags::none)
{ {