Go to the source code of this file.
|
#define | generate_(method, ret, args) |
| Templated class to add the standard messaging functionalities. More...
|
|
|
template<typename T > |
using | implementation_detail::is_valid_t = typename void_t< T >::type |
|
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, typename SFINAE = void> \
}; \
template <typename T> \
struct has_##method<T, is_valid_t<decltype( std::declval<const T&>().method
args )>> :
std::true_type { \
}; \
\
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 25 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 |