Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_SoA.hpp File Reference

Struct-of-Arrays for building AoSoA. More...

#include <Cabana_MemberTypes.hpp>
#include <Kokkos_Core.hpp>
#include <cstdlib>
#include <type_traits>
#include <utility>
Include dependency graph for Cabana_SoA.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Cabana::is_soa< T >
 SoA static type checker. More...
 
struct  Cabana::SoA< MemberTypes< Types... >, VectorLength >
 Struct-of-Arrays. More...
 

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_reference_type< M > >::type Cabana::get (SoA_t &soa, const std::size_t a)
 Get Rank-0 non-const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_const_reference_type< M > >::type Cabana::get (const SoA_t &soa, const std::size_t a)
 Get Rank-0 const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_reference_type< M > >::type Cabana::get (SoA_t &soa, const std::size_t a, const std::size_t d0)
 Get Rank-1 non-const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_const_reference_type< M > >::type Cabana::get (const SoA_t &soa, const std::size_t a, const std::size_t d0)
 Get Rank-1 const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_reference_type< M > >::type Cabana::get (SoA_t &soa, const std::size_t a, const std::size_t d0, const std::size_t d1)
 Get Rank-2 non-const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_const_reference_type< M > >::type Cabana::get (const SoA_t &soa, const std::size_t a, const std::size_t d0, const std::size_t d1)
 Get Rank-2 const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_reference_type< M > >::type Cabana::get (SoA_t &soa, const std::size_t a, const std::size_t d0, const std::size_t d1, const std::size_t d2)
 Get Rank-3 non-const.
 
template<std::size_t M, class SoA_t>
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< is_soa< SoA_t >::value, typenameSoA_t::templatemember_const_reference_type< M > >::type Cabana::get (const SoA_t &soa, const std::size_t a, const std::size_t d0, const std::size_t d1, const std::size_t d2)
 Get Rank-3 const.
 

Detailed Description

Struct-of-Arrays for building AoSoA.