10#include <Kokkos_Macros.hpp>
12#include "detail/tagged_vector.hpp"
14#include "discrete_element.hpp"
15#include "real_type.hpp"
20
21
22using CoordinateElement = Real;
25
26
27
29template <
class... CDims>
30using Coordinate = detail::TaggedVector<CoordinateElement, CDims...>;
32template <
class... DDim, std::enable_if_t<(
sizeof...(DDim) > 1),
int> = 0>
34 DiscreteElement<DDim...>
const& c)
36 return Coordinate<
typename DDim::continuous_dimension_type...>(
37 coordinate(DiscreteElement<DDim>(c))...);
45 static_assert(is_discrete_element_v<T>,
"Parameter T must be of type DiscreteElement");
46 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)