Belle II Software development
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
13namespace 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