![]() |
|
|||
File indexing completed on 2025-02-21 10:00:29
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 #ifndef GAUDIKERNEL_EXTEND_INTERFACES_H 0012 #define GAUDIKERNEL_EXTEND_INTERFACES_H 0013 0014 template <typename... Interfaces> 0015 struct extend_interfaces; 0016 0017 #include "GaudiKernel/IInterface.h" 0018 0019 // ----------------------------------------------------------------------------- 0020 // Interface extension classes 0021 // ----------------------------------------------------------------------------- 0022 /// Base class to be used to extend an interface. 0023 template <typename... Interfaces> 0024 struct GAUDI_API extend_interfaces : virtual public Interfaces... { 0025 /// take union of the ext_iids of all Interfaces... 0026 using ext_iids = typename Gaudi::interface_list_cat<typename Interfaces::ext_iids...>::type; 0027 }; 0028 0029 template <typename I1> 0030 using extend_interfaces1 = extend_interfaces<I1>; 0031 template <typename I1, typename I2> 0032 using extend_interfaces2 = extend_interfaces<I1, I2>; 0033 template <typename I1, typename I2, typename I3> 0034 using extend_interfaces3 = extend_interfaces<I1, I2, I3>; 0035 template <typename I1, typename I2, typename I3, typename I4> 0036 using extend_interfaces4 = extend_interfaces<I1, I2, I3, I4>; 0037 0038 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |