CPPuddle
Public Types | Public Member Functions | List of all members
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type > Class Template Reference

#include <recycling_kokkos_view.hpp>

Inheritance diagram for cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >:
[legend]
Collaboration diagram for cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >:
[legend]

Public Types

using view_type = kokkos_type
 

Public Member Functions

template<typename... Args, std::enable_if_t< sizeof...(Args)==kokkos_type::rank, bool > = true>
 recycling_view (Args... args)
 
template<typename... Args, std::enable_if_t< sizeof...(Args)==kokkos_type::rank, bool > = true>
 recycling_view (const size_t device_id, Args... args)
 
template<typename layout_t , std::enable_if_t< Kokkos::is_array_layout< layout_t >::value, bool > = true>
 recycling_view (std::size_t device_id, layout_t layout)
 
 recycling_view (const recycling_view< kokkos_type, alloc_type, element_type > &other)
 
recycling_view< kokkos_type, alloc_type, element_type > & operator= (const recycling_view< kokkos_type, alloc_type, element_type > &other)
 
 recycling_view (recycling_view< kokkos_type, alloc_type, element_type > &&other) noexcept
 
recycling_view< kokkos_type, alloc_type, element_type > & operator= (recycling_view< kokkos_type, alloc_type, element_type > &&other) noexcept
 
 ~recycling_view ()
 

Detailed Description

template<typename kokkos_type, typename alloc_type, typename element_type>
class cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >

Kokkos View that automatically uses a recycling allocator using alloc_type as an underlying allocator Requires the underlying Kokkos View (kokkos_type) to be a View using the MemoryUnmanaged trait!

Member Typedef Documentation

◆ view_type

template<typename kokkos_type , typename alloc_type , typename element_type >
using cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::view_type = kokkos_type

Constructor & Destructor Documentation

◆ recycling_view() [1/5]

template<typename kokkos_type , typename alloc_type , typename element_type >
template<typename... Args, std::enable_if_t< sizeof...(Args)==kokkos_type::rank, bool > = true>
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::recycling_view ( Args...  args)
inline

◆ recycling_view() [2/5]

template<typename kokkos_type , typename alloc_type , typename element_type >
template<typename... Args, std::enable_if_t< sizeof...(Args)==kokkos_type::rank, bool > = true>
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::recycling_view ( const size_t  device_id,
Args...  args 
)
inline

◆ recycling_view() [3/5]

template<typename kokkos_type , typename alloc_type , typename element_type >
template<typename layout_t , std::enable_if_t< Kokkos::is_array_layout< layout_t >::value, bool > = true>
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::recycling_view ( std::size_t  device_id,
layout_t  layout 
)
inline

◆ recycling_view() [4/5]

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::recycling_view ( const recycling_view< kokkos_type, alloc_type, element_type > &  other)
inline

◆ recycling_view() [5/5]

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::recycling_view ( recycling_view< kokkos_type, alloc_type, element_type > &&  other)
inlinenoexcept

◆ ~recycling_view()

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::~recycling_view ( )
inline

Member Function Documentation

◆ operator=() [1/2]

template<typename kokkos_type , typename alloc_type , typename element_type >
recycling_view<kokkos_type, alloc_type, element_type>& cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::operator= ( const recycling_view< kokkos_type, alloc_type, element_type > &  other)
inline

◆ operator=() [2/2]

template<typename kokkos_type , typename alloc_type , typename element_type >
recycling_view<kokkos_type, alloc_type, element_type>& cppuddle::memory_recycling::recycling_view< kokkos_type, alloc_type, element_type >::operator= ( recycling_view< kokkos_type, alloc_type, element_type > &&  other)
inlinenoexcept

The documentation for this class was generated from the following file: