Belle II Software  release-08-01-10
Product.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <type_traits>
11 #include <cstddef>
12 
13 namespace Belle2 {
18  namespace TrackFindingCDC {
20  template<std::size_t... factors>
21  struct Product;
22 
25  template<std::size_t factor, std::size_t... factors>
26  struct Product<factor, factors...> :
27  std::integral_constant<std::size_t, factor* Product<factors...>::value > {};
28 
31  template<>
32  struct Product<> :
33  std::integral_constant<std::size_t, 1> {};
34 
35  }
37 }
Abstract base class for different kinds of events.
Template class for compile time computation of products.
Definition: Product.h:21