The Gaudi Framework  master (37c0b60a)
CommonMessaging.h File Reference
#include <GaudiKernel/GaudiException.h>
#include <GaudiKernel/IMessageSvc.h>
#include <GaudiKernel/IService.h>
#include <GaudiKernel/ISvcLocator.h>
#include <GaudiKernel/MsgStream.h>
#include <GaudiKernel/SmartIF.h>
#include <GaudiKernel/detected.h>
#include <boost/thread/tss.hpp>
#include <string>
#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

class  CommonMessaging< BASE >
 
class  CommonMessagingBase
 
class  CommonMessaging< BASE >
 

Namespaces

 implementation_detail
 

Macros

#define generate_(method, ret, args)
 Templated class to add the standard messaging functionalities. More...
 

Typedefs

template<typename Base >
using add_name = std::conditional_t< implementation_detail::has_name< Base >::value, Base, implementation_detail::add_name< Base > >
 
template<typename Base >
using add_serviceLocator = std::conditional_t< implementation_detail::has_serviceLocator< Base >::value, Base, implementation_detail::add_serviceLocator< Base > >
 

Functions

 implementation_detail::generate_ (name, const std::string &,()) generate_(serviceLocator
 

Macro Definition Documentation

◆ generate_

#define generate_ (   method,
  ret,
  args 
)
Value:
\
template <typename T> \
using _has_##method = decltype( std::declval<const T&>().method args ); \
\
template <typename 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 37 of file CommonMessaging.h.

Typedef Documentation

◆ add_name

template<typename Base >
using add_name = std::conditional_t<implementation_detail::has_name<Base>::value, Base, implementation_detail::add_name<Base> >

Definition at line 59 of file CommonMessaging.h.

◆ add_serviceLocator

template<typename Base >
using add_serviceLocator = std::conditional_t<implementation_detail::has_serviceLocator<Base>::value, Base, implementation_detail::add_serviceLocator<Base> >

Definition at line 62 of file CommonMessaging.h.

Gaudi::cpp17::details::detector
Implementation of the detection idiom (negative case).
Definition: detected.h:24
gaudirun.args
args
Definition: gaudirun.py:336