| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces | Macros | Typedefs | Functions
CommonMessaging.h File Reference
`#include "GaudiKernel/IService.h"`
`#include "GaudiKernel/ISvcLocator.h"`
`#include "GaudiKernel/IMessageSvc.h"`
`#include "GaudiKernel/MsgStream.h"`
`#include "GaudiKernel/SmartIF.h"`
`#include "GaudiKernel/GaudiException.h"`
`#include <memory>`
`#include <utility>`
Include dependency graph for CommonMessaging.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | implementation_detail::void_t< typename >
class | CommonMessaging< BASE >
class | CommonMessagingBase
class | CommonMessaging< BASE >

## Namespaces
| implementation_detail

## Macros
#define | generate_has_(method, args)
| Templated class to add the standard messaging functionalities. More...
#define | generate_add_(method, ret, args)

## Typedefs
template<typename T >
using | implementation_detail::is_valid_t = typename void_t< T >::type
template<typename Base >
using | add_name = implementation_detail::add_name< Base,!implementation_detail::has_name< Base >::value >
template<typename Base >
using | add_serviceLocator = implementation_detail::add_serviceLocator< Base,!implementation_detail::has_serviceLocator< Base >::value >

## Functions
| implementation_detail::generate_has_ (name,()) generate_add_(name
const std::string | implementation_detail::generate_has_ (serviceLocator,()) generate_add_(serviceLocator

## Macro Definition Documentation

#define generate_add_ | ( |  | method,
|  |  | ret,
|  |  | args
| ) |  |

Value:
template <typename Base, bool> struct add_ ## method; \
template <typename Base> \
struct add_ ## method <Base,false> : public Base { \
using Base::Base; \
}; \
template <typename Base> \
struct add_ ## method <Base, true> : public Base { \
using Base::Base; \
virtual ~add_ ## method () = default; \
virtual ret method args const = 0; \
};
gaudirun.args
list args
Definition: gaudirun.py:290

Definition at line 30 of file CommonMessaging.h.

#define generate_has_ | ( |  | method,
|  |  | args
| ) |  |

Value:
template <typename T, typename SFINAE = void> \
struct has_ ## method : std::false_type {}; \
template <typename T> \
struct has_ ## method<T, is_valid_t<decltype(std::declval<const T&>().method args)>> : std::true_type {};
gaudirun.args
list args
Definition: gaudirun.py:290
std::false_type

Templated class to add the standard messaging functionalities.

Definition at line 24 of file CommonMessaging.h.

## Typedef Documentation

template<typename Base >

using add_name = implementation_detail::add_name< Base, ! implementation_detail::has_name<Base>::value >

Definition at line 55 of file CommonMessaging.h.

template<typename Base >

using add_serviceLocator = implementation_detail::add_serviceLocator< Base, ! implementation_detail::has_serviceLocator<Base>::value >

Definition at line 56 of file CommonMessaging.h.