Block-Structured AMR Software Framework
amrex::SparseBinIteratorFactory< T > Struct Template Reference

#include <AMReX_SparseBins.H>

Public Types

using index_type = int
 
using const_pointer_type = std::conditional_t< IsParticleTileData< T >(), T, const T * >
 
using const_pointer_input_type = std::conditional_t< IsParticleTileData< T >(), const T &, const T * >
 

Public Member Functions

 SparseBinIteratorFactory (const Gpu::DeviceVector< index_type > &bins, const Gpu::DeviceVector< index_type > &offsets, const Gpu::DeviceVector< index_type > &permutation, const_pointer_input_type items)
 
AMREX_GPU_HOST_DEVICE index_type getIndex (const index_type bin_number) const noexcept
 
AMREX_GPU_HOST_DEVICE BinIterator< T > getBinIterator (const index_type bin_number) const noexcept
 

Public Attributes

const index_typem_bins_ptr
 
const index_typem_offsets_ptr
 
const index_typem_permutation_ptr
 
const_pointer_type m_items
 
index_type m_num_bins
 

Static Public Attributes

static constexpr index_type m_not_found = std::numeric_limits<index_type>::max()
 

Member Typedef Documentation

◆ const_pointer_input_type

template<typename T >
using amrex::SparseBinIteratorFactory< T >::const_pointer_input_type = std::conditional_t<IsParticleTileData<T>(), const T&, const T* >

◆ const_pointer_type

template<typename T >
using amrex::SparseBinIteratorFactory< T >::const_pointer_type = std::conditional_t<IsParticleTileData<T>(), T, const T* >

◆ index_type

template<typename T >
using amrex::SparseBinIteratorFactory< T >::index_type = int

Constructor & Destructor Documentation

◆ SparseBinIteratorFactory()

template<typename T >
amrex::SparseBinIteratorFactory< T >::SparseBinIteratorFactory ( const Gpu::DeviceVector< index_type > &  bins,
const Gpu::DeviceVector< index_type > &  offsets,
const Gpu::DeviceVector< index_type > &  permutation,
const_pointer_input_type  items 
)
inline

Member Function Documentation

◆ getBinIterator()

template<typename T >
AMREX_GPU_HOST_DEVICE BinIterator<T> amrex::SparseBinIteratorFactory< T >::getBinIterator ( const index_type  bin_number) const
inlinenoexcept

◆ getIndex()

template<typename T >
AMREX_GPU_HOST_DEVICE index_type amrex::SparseBinIteratorFactory< T >::getIndex ( const index_type  bin_number) const
inlinenoexcept

Member Data Documentation

◆ m_bins_ptr

template<typename T >
const index_type* amrex::SparseBinIteratorFactory< T >::m_bins_ptr

◆ m_items

template<typename T >
const_pointer_type amrex::SparseBinIteratorFactory< T >::m_items

◆ m_not_found

template<typename T >
constexpr index_type amrex::SparseBinIteratorFactory< T >::m_not_found = std::numeric_limits<index_type>::max()
staticconstexpr

◆ m_num_bins

template<typename T >
index_type amrex::SparseBinIteratorFactory< T >::m_num_bins

◆ m_offsets_ptr

template<typename T >
const index_type* amrex::SparseBinIteratorFactory< T >::m_offsets_ptr

◆ m_permutation_ptr

template<typename T >
const index_type* amrex::SparseBinIteratorFactory< T >::m_permutation_ptr

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