The Gaudi Framework  master (42b00024)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 <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

struct  implementation_detail::add_name< Base >
 
struct  implementation_detail::add_serviceLocator< Base >
 
class  CommonMessaging< BASE >
 
class  CommonMessagingBase
 
class  CommonMessaging< BASE >
 

Namespaces

 implementation_detail
 Templated class to add the standard messaging functionalities.
 

Typedefs

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

Variables

template<typename T >
concept implementation_detail::has_name = requires( T const& t ) { t.name(); }
 
template<typename T >
concept implementation_detail::has_serviceLocator = requires( T const& t ) { t.serviceLocator(); }
 

Typedef Documentation

◆ add_name

template<typename Base >
using add_name = std::conditional_t<implementation_detail::has_name<Base>, 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>, Base, implementation_detail::add_serviceLocator<Base> >

Definition at line 62 of file CommonMessaging.h.