10#include <Kokkos_Macros.hpp>
12#include "ddc/detail/tagged_vector.hpp"
13#include "ddc/discrete_element.hpp"
14#include "ddc/real_type.hpp"
19
20
21using CoordinateElement = Real;
24
25
26
28template <
class... CDims>
29using Coordinate = detail::TaggedVector<CoordinateElement, CDims...>;
31template <
class... DDim, std::enable_if_t<(
sizeof...(DDim) > 1),
int> = 0>
33 DiscreteElement<DDim...>
const& c)
35 return Coordinate<
typename DDim::continuous_dimension_type...>(
36 coordinate(DiscreteElement<DDim>(c))...);
44 static_assert(is_discrete_element_v<T>,
"Parameter T must be of type DiscreteElement");
45 using type =
decltype(coordinate(std::declval<T>()));
The top-level namespace of DDC.
KOKKOS_FUNCTION Coordinate< typename DDim::continuous_dimension_type... > coordinate(DiscreteElement< DDim... > const &c)