mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 09:31:45 +00:00
enable/disable multipart functionnality for sending header if source policy has the proper signature
add comment to sendHeader
This commit is contained in:
committed by
Mohammad Al-Turany
parent
6ce6887212
commit
13d3729fec
@@ -88,6 +88,16 @@ struct has_BindGetSocketNumber
|
||||
is_convertible<decltype(declval<T>().BindGetSocketNumber(declval<Args>()...)), R>::value || is_same<R, void>::value>::type
|
||||
>:true_type {};
|
||||
|
||||
// test, at compile time, whether T has GetHeader member function with returned type R and argument ...Args type
|
||||
template<class T, class Sig, class=void>
|
||||
struct has_GetHeader : false_type {};
|
||||
|
||||
template<class T, class R, class... Args>
|
||||
struct has_GetHeader
|
||||
<T, R(Args...), typename enable_if<
|
||||
is_convertible<decltype(declval<T>().GetHeader(declval<Args>()...)), R>::value || is_same<R, void>::value>::type
|
||||
>:true_type {};
|
||||
|
||||
// test, at compile time, whether T has BindGetCurrentIndex member function with returned type R and argument ...Args type
|
||||
template<class T, class Sig, class=void>
|
||||
struct has_BindGetCurrentIndex : false_type {};
|
||||
@@ -99,7 +109,7 @@ struct has_BindGetCurrentIndex
|
||||
>:true_type {};
|
||||
|
||||
|
||||
|
||||
|
||||
} // end namespace details
|
||||
|
||||
// Alias template of the above structs
|
||||
@@ -109,6 +119,9 @@ using has_BindSendHeader = integral_constant<bool, details::has_BindSendHeader<T
|
||||
template<class T, class Sig>
|
||||
using has_BindGetSocketNumber = integral_constant<bool, details::has_BindGetSocketNumber<T, Sig>::value>;
|
||||
|
||||
template<class T, class Sig>
|
||||
using has_GetHeader = integral_constant<bool, details::has_GetHeader<T, Sig>::value>;
|
||||
|
||||
template<class T, class Sig>
|
||||
using has_BindGetCurrentIndex = integral_constant<bool, details::has_BindGetCurrentIndex<T, Sig>::value>;
|
||||
|
||||
@@ -128,6 +141,11 @@ using enable_if_has_BindGetCurrentIndex = typename enable_if<has_BindGetCurrentI
|
||||
template<typename T>
|
||||
using enable_if_hasNot_BindGetCurrentIndex = typename enable_if<!has_BindGetCurrentIndex<T, int()>::value, int>::type;
|
||||
|
||||
template<typename T>
|
||||
using enable_if_has_GetHeader = typename enable_if<has_GetHeader<T, int()>::value, int>::type;
|
||||
template<typename T>
|
||||
using enable_if_hasNot_GetHeader = typename enable_if<!has_GetHeader<T, int()>::value, int>::type;
|
||||
|
||||
} // namespace tools
|
||||
} // namespace FairMQ
|
||||
|
||||
|
Reference in New Issue
Block a user