15#ifndef ROOT7_RHistUtils
16#define ROOT7_RHistUtils
22namespace Experimental {
25template <
int DIMENSIONS>
27 using Base_t = std::array<double, DIMENSIONS>;
33 template<
class...ELEMENTS,
class =
typename std::enable_if<
sizeof...(ELEMENTS) + 1 == DIMENSIONS>
::type>
38 template<
class T,
class...ELEMENTS,
class =
typename std::enable_if<
sizeof...(ELEMENTS) + 1 != DIMENSIONS>
::type>
40 static_assert(
sizeof...(ELEMENTS) + 1 == DIMENSIONS,
"Number of coordinates does not match DIMENSIONS");
51template <
int DIMENSIONS>
RCoordArray(double x, ELEMENTS...el)
Construction with one double per DIMENSION.
RCoordArray(T, ELEMENTS...)
Fallback constructor, invoked if the one above fails because of the wrong number of arguments / coord...
RCoordArray(const std::array< double, DIMENSIONS > &arr)
Copy-construction from a C++-style array.
std::array< double, DIMENSIONS > Base_t
RCoordArray(double(&arr)[DIMENSIONS])
Construction from a C-style array.
RCoordArray()=default
Default construction.