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