Kokkos Core Kernels Package  Version of the Day
Classes | Namespaces | Functions
Kokkos_DynRankView.hpp File Reference

Declaration and definition of Kokkos::Experimental::DynRankView. More...

#include <Kokkos_Core.hpp>
#include <impl/Kokkos_Error.hpp>
#include <type_traits>

Go to the source code of this file.

Classes

struct  Kokkos::Experimental::Impl::ViewToDynRankViewTag
 Assign compatible default mappings. More...
 

Namespaces

 Kokkos
 

Functions

template<class DT , class ... DP>
void Kokkos::Experimental::deep_copy (const DynRankView< DT, DP... > &dst, typename ViewTraits< DT, DP... >::const_value_type &value, typename std::enable_if< std::is_same< typename ViewTraits< DT, DP... >::specialize, void >::value >::type *=0)
 Deep copy a value from Host memory into a view. More...
 
template<class ST , class ... SP>
void Kokkos::Experimental::deep_copy (typename ViewTraits< ST, SP... >::non_const_value_type &dst, const DynRankView< ST, SP... > &src, typename std::enable_if< std::is_same< typename ViewTraits< ST, SP... >::specialize, void >::value >::type *=0)
 Deep copy into a value in Host memory from a view. More...
 
template<class DstType , class SrcType >
void Kokkos::Experimental::deep_copy (const DstType &dst, const SrcType &src, typename std::enable_if<(std::is_same< typename DstType::traits::specialize, void >::value &&std::is_same< typename SrcType::traits::specialize, void >::value &&(Kokkos::Experimental::is_dyn_rank_view< DstType >::value||Kokkos::Experimental::is_dyn_rank_view< SrcType >::value))>::type *=0)
 A deep copy between views of the default specialization, compatible type, same rank, same contiguous layout. More...
 
template<class T , class ... P>
void Kokkos::Experimental::resize (DynRankView< T, P... > &v, const size_t n0=~size_t(0), const size_t n1=~size_t(0), const size_t n2=~size_t(0), const size_t n3=~size_t(0), const size_t n4=~size_t(0), const size_t n5=~size_t(0), const size_t n6=~size_t(0), const size_t n7=~size_t(0))
 Resize a view with copying old data to new data at the corresponding indices. More...
 
template<class T , class ... P>
void Kokkos::Experimental::realloc (DynRankView< T, P... > &v, const size_t n0=~size_t(0), const size_t n1=~size_t(0), const size_t n2=~size_t(0), const size_t n3=~size_t(0), const size_t n4=~size_t(0), const size_t n5=~size_t(0), const size_t n6=~size_t(0), const size_t n7=~size_t(0))
 Resize a view with copying old data to new data at the corresponding indices. More...
 

Detailed Description

Declaration and definition of Kokkos::Experimental::DynRankView.

This header file declares and defines Kokkos::Experimental::DynRankView and its related nonmember functions.

Definition in file Kokkos_DynRankView.hpp.

Function Documentation

◆ deep_copy() [1/3]

template<class DT , class ... DP>
void Kokkos::Experimental::deep_copy ( const DynRankView< DT, DP... > &  dst,
typename ViewTraits< DT, DP... >::const_value_type &  value,
typename std::enable_if< std::is_same< typename ViewTraits< DT, DP... >::specialize, void >::value >::type *  = 0 
)
inline

Deep copy a value from Host memory into a view.

Definition at line 1499 of file Kokkos_DynRankView.hpp.

◆ deep_copy() [2/3]

template<class ST , class ... SP>
void Kokkos::Experimental::deep_copy ( typename ViewTraits< ST, SP... >::non_const_value_type &  dst,
const DynRankView< ST, SP... > &  src,
typename std::enable_if< std::is_same< typename ViewTraits< ST, SP... >::specialize, void >::value >::type *  = 0 
)
inline

Deep copy into a value in Host memory from a view.

Definition at line 1517 of file Kokkos_DynRankView.hpp.

◆ deep_copy() [3/3]

template<class DstType , class SrcType >
void Kokkos::Experimental::deep_copy ( const DstType &  dst,
const SrcType &  src,
typename std::enable_if<(std::is_same< typename DstType::traits::specialize, void >::value &&std::is_same< typename SrcType::traits::specialize, void >::value &&(Kokkos::Experimental::is_dyn_rank_view< DstType >::value||Kokkos::Experimental::is_dyn_rank_view< SrcType >::value))>::type *  = 0 
)
inline

A deep copy between views of the default specialization, compatible type, same rank, same contiguous layout.

Definition at line 1540 of file Kokkos_DynRankView.hpp.

◆ resize()

template<class T , class ... P>
void Kokkos::Experimental::resize ( DynRankView< T, P... > &  v,
const size_t  n0 = ~size_t(0),
const size_t  n1 = ~size_t(0),
const size_t  n2 = ~size_t(0),
const size_t  n3 = ~size_t(0),
const size_t  n4 = ~size_t(0),
const size_t  n5 = ~size_t(0),
const size_t  n6 = ~size_t(0),
const size_t  n7 = ~size_t(0) 
)
inline

Resize a view with copying old data to new data at the corresponding indices.

Definition at line 1828 of file Kokkos_DynRankView.hpp.

◆ realloc()

template<class T , class ... P>
void Kokkos::Experimental::realloc ( DynRankView< T, P... > &  v,
const size_t  n0 = ~size_t(0),
const size_t  n1 = ~size_t(0),
const size_t  n2 = ~size_t(0),
const size_t  n3 = ~size_t(0),
const size_t  n4 = ~size_t(0),
const size_t  n5 = ~size_t(0),
const size_t  n6 = ~size_t(0),
const size_t  n7 = ~size_t(0) 
)
inline

Resize a view with copying old data to new data at the corresponding indices.

Definition at line 1852 of file Kokkos_DynRankView.hpp.