17 #ifndef KOKKOS_IMPL_PUBLIC_INCLUDE
18 #include <Kokkos_Macros.hpp>
20 "Including non-public Kokkos header files is not allowed.");
22 #ifndef KOKKOS_ANONYMOUSSPACE_HPP
23 #define KOKKOS_ANONYMOUSSPACE_HPP
25 #include <Kokkos_Core_fwd.hpp>
26 #include <Kokkos_Concepts.hpp>
33 class AnonymousSpace {
36 using memory_space = AnonymousSpace;
37 using execution_space = Kokkos::DefaultExecutionSpace;
38 using size_type = size_t;
41 using device_type = Kokkos::Device<execution_space, memory_space>;
44 AnonymousSpace() =
default;
45 AnonymousSpace(AnonymousSpace &&rhs) =
default;
46 AnonymousSpace(
const AnonymousSpace &rhs) =
default;
47 AnonymousSpace &operator=(AnonymousSpace &&) =
default;
48 AnonymousSpace &operator=(
const AnonymousSpace &) =
default;
49 ~AnonymousSpace() =
default;
52 static constexpr
const char *name() {
return "Anonymous"; }
63 template <
typename OtherSpace>
64 struct MemorySpaceAccess<Kokkos::AnonymousSpace, OtherSpace> {
65 enum :
bool { assignable =
true };
66 enum :
bool { accessible =
true };
67 enum :
bool { deepcopy =
true };
70 template <
typename OtherSpace>
71 struct MemorySpaceAccess<OtherSpace, Kokkos::AnonymousSpace> {
72 enum :
bool { assignable =
true };
73 enum :
bool { accessible =
true };
74 enum :
bool { deepcopy =
true };
78 struct MemorySpaceAccess<Kokkos::AnonymousSpace, Kokkos::AnonymousSpace> {
79 enum :
bool { assignable =
true };
80 enum :
bool { accessible =
true };
81 enum :
bool { deepcopy =
true };
88 #endif // #define KOKKOS_ANONYMOUSSPACE_HPP