| The Gaudi Framework v27r1

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
Gaudi::iid_cast_details::iid_cast_t< I, Is...> Struct Template Reference

`#include <GaudiKernel/IInterface.h>`

## Public Member Functions
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 }
InterfaceID::versionMatch
constexpr bool versionMatch(const InterfaceID &iid) const
check compatibility.
Definition: IInterface.h:59
Gaudi::iid_cast_details::void_cast
constexpr void * void_cast(const I *i)
Definition: IInterface.h:157

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

- GaudiKernel/GaudiKernel/IInterface.h