24#ifndef MORPHEUS_MIRRORCONTAINERS_IMPL_HPP
25#define MORPHEUS_MIRRORCONTAINERS_IMPL_HPP
32template <
class Space,
template <
class,
class...>
class Container,
class T,
36 using src_container_type = Container<T, P...>;
38 using memory_space =
typename Space::memory_space;
42 std::is_same<memory_space,
43 typename src_container_type::memory_space>::value
47 using value_type =
typename src_container_type::non_const_value_type;
48 using index_type =
typename src_container_type::index_type;
49 using array_layout =
typename src_container_type::array_layout;
53 using dest_container_type =
54 Container<value_type, index_type, array_layout, Space>;
56 using container_type =
57 typename std::conditional<is_same_memspace, src_container_type,
58 dest_container_type>::type;
61template <
class Space,
template <
class,
class...>
class Container,
class T,
65 using src_container_type = Container<T, P...>;
68 using value_type =
typename src_container_type::non_const_value_type;
69 using index_type =
typename src_container_type::non_const_index_type;
70 using array_layout =
typename src_container_type::array_layout;
74 using container_type = Container<value_type, index_type, array_layout, Space>;
Generic Morpheus interfaces.
Definition: dummy.cpp:24
Definition: Morpheus_MirrorContainers_Impl.hpp:34
Definition: Morpheus_MirrorContainers_Impl.hpp:63