Gaudi::iid_cast_details::iid_cast_t< I, Is...> Struct Template Reference

#include </scratch/z5/marcocle/GaudiDocs/lhcb-release/996/GAUDI/GAUDI_v26r4/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiKernel/IInterface.h>

Public Member Functions

template<typename P >
void * operator() (const InterfaceID &tid, P *ptr) const
 
template<typename P >
void * operator() (const InterfaceID &tid, P *ptr) const
 

Detailed Description

template<typename I, typename... Is>
struct Gaudi::iid_cast_details::iid_cast_t< I, Is...>

Definition at line 167 of file IInterface.h.

Member Function Documentation

template<typename I , typename... Is>
template<typename P >
void* Gaudi::iid_cast_details::iid_cast_t< I, Is...>::operator() ( const InterfaceID tid,
P *  ptr 
) const
inline

Definition at line 169 of file IInterface.h.

169  {
170  return tid.versionMatch(I::interfaceID()) ? void_cast<typename I::interface_type>(ptr)
171  : iid_cast_t<Is...>{}(tid,ptr);
172  }
constexpr void * void_cast(const I *i)
Definition: IInterface.h:157
constexpr bool versionMatch(const InterfaceID &iid) const
check compatibility.
Definition: IInterface.h:59
template<typename I , typename... Is>
template<typename P >
void* Gaudi::iid_cast_details::iid_cast_t< I, Is...>::operator() ( const InterfaceID tid,
P *  ptr 
) const
inline

Definition at line 169 of file IInterface.h.

169  {
170  return tid.versionMatch(I::interfaceID()) ? void_cast<typename I::interface_type>(ptr)
171  : iid_cast_t<Is...>{}(tid,ptr);
172  }
constexpr void * void_cast(const I *i)
Definition: IInterface.h:157
constexpr bool versionMatch(const InterfaceID &iid) const
check compatibility.
Definition: IInterface.h:59

The documentation for this struct was generated from the following file: