Go to the source code of this file.
|
#define | generate_(method, ret, args) |
| Templated class to add the standard messaging functionalities. More...
|
|
|
template<typename Base > |
using | add_name = typename std::conditional< implementation_detail::has_name< Base >::value, Base, implementation_detail::add_name< Base >>::type |
|
template<typename Base > |
using | add_serviceLocator = typename std::conditional< implementation_detail::has_serviceLocator< Base >::value, Base, implementation_detail::add_serviceLocator< Base >>::type |
|
#define generate_ |
( |
|
method, |
|
|
|
ret, |
|
|
|
args |
|
) |
| |
Value:\
template <typename T> \
using _has_##method = decltype( std::declval<const T&>().method
args ); \
\
template <typename T> \
using has_##method = Gaudi::cpp17::is_detected<_has_##method, T>; \
\
template <typename Base> \
struct add_##method : public Base { \
using Base::Base; \
virtual ~add_##method() = default; \
virtual ret method
args const = 0; \
};
Templated class to add the standard messaging functionalities.
Definition at line 26 of file CommonMessaging.h.
template<typename Base >
using add_name = typename std::conditional<implementation_detail::has_name<Base>::value, Base, implementation_detail::add_name<Base>>::type |