IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::detail::ParticleAttribBase< MemorySpace > Class Template Referenceabstract

#include <ParticleAttribBase.h>

Inheritance diagram for ippl::detail::ParticleAttribBase< MemorySpace >:
Collaboration diagram for ippl::detail::ParticleAttribBase< MemorySpace >:

Classes

struct  WithMemSpace

Public Types

using hash_type = ippl::detail::hash_type<MemorySpace>
using memory_space = MemorySpace
using execution_space = typename memory_space::execution_space
template<typename... Properties>
using with_properties = typename WithMemSpace<Properties...>::type

Public Member Functions

 ParticleAttribBase ()
virtual void set_name (const std::string &name_)=0
virtual std::string get_name () const =0
virtual void create (size_type)=0
virtual void destroy (const hash_type &, const hash_type &, size_type)=0
virtual size_type packedSize (const size_type) const =0
virtual void pack (const hash_type &)=0
virtual void unpack (size_type)=0
virtual void serialize (Archive< memory_space > &ar, size_type nsends)=0
virtual void deserialize (Archive< memory_space > &ar, size_type nrecvs)=0
virtual size_type size () const =0
virtual ~ParticleAttribBase ()=default
void setParticleCount (size_type &num)
size_type getParticleCount () const
virtual void applyPermutation (const hash_type &)=0
virtual void internalCopy (const hash_type &)=0

Protected Attributes

const size_typelocalNum_mp
std::string name_m

Detailed Description

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
class ippl::detail::ParticleAttribBase< MemorySpace >

Definition at line 25 of file ParticleAttribBase.h.

Member Typedef Documentation

◆ execution_space

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
using ippl::detail::ParticleAttribBase< MemorySpace >::execution_space = typename memory_space::execution_space

Definition at line 35 of file ParticleAttribBase.h.

◆ hash_type

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
using ippl::detail::ParticleAttribBase< MemorySpace >::hash_type = ippl::detail::hash_type<MemorySpace>

Definition at line 33 of file ParticleAttribBase.h.

◆ memory_space

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
using ippl::detail::ParticleAttribBase< MemorySpace >::memory_space = MemorySpace

Definition at line 34 of file ParticleAttribBase.h.

◆ with_properties

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
template<typename... Properties>
using ippl::detail::ParticleAttribBase< MemorySpace >::with_properties = typename WithMemSpace<Properties...>::type

Definition at line 38 of file ParticleAttribBase.h.

Constructor & Destructor Documentation

◆ ParticleAttribBase()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
ippl::detail::ParticleAttribBase< MemorySpace >::ParticleAttribBase ( )
inline

Definition at line 40 of file ParticleAttribBase.h.

◆ ~ParticleAttribBase()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual ippl::detail::ParticleAttribBase< MemorySpace >::~ParticleAttribBase ( )
virtualdefault

Member Function Documentation

◆ applyPermutation()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::applyPermutation ( const hash_type & )
pure virtual

◆ create()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::create ( size_type )
pure virtual

◆ deserialize()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::deserialize ( Archive< memory_space > & ar,
size_type nrecvs )
pure virtual

◆ destroy()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::destroy ( const hash_type & ,
const hash_type & ,
size_type  )
pure virtual

◆ get_name()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual std::string ippl::detail::ParticleAttribBase< MemorySpace >::get_name ( ) const
pure virtual

◆ getParticleCount()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
size_type ippl::detail::ParticleAttribBase< MemorySpace >::getParticleCount ( ) const
inline

Definition at line 64 of file ParticleAttribBase.h.

◆ internalCopy()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::internalCopy ( const hash_type & )
pure virtual

◆ pack()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::pack ( const hash_type & )
pure virtual

◆ packedSize()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual size_type ippl::detail::ParticleAttribBase< MemorySpace >::packedSize ( const size_type ) const
pure virtual

◆ serialize()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::serialize ( Archive< memory_space > & ar,
size_type nsends )
pure virtual

◆ set_name()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::set_name ( const std::string & name_)
pure virtual

◆ setParticleCount()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
void ippl::detail::ParticleAttribBase< MemorySpace >::setParticleCount ( size_type & num)
inline

Definition at line 63 of file ParticleAttribBase.h.

Referenced by ippl::ParticleBase< PLayout, IDProperties >::addAttribute().

Here is the caller graph for this function:

◆ size()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual size_type ippl::detail::ParticleAttribBase< MemorySpace >::size ( ) const
pure virtual

◆ unpack()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
virtual void ippl::detail::ParticleAttribBase< MemorySpace >::unpack ( size_type )
pure virtual

Member Data Documentation

◆ localNum_mp

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
const size_type* ippl::detail::ParticleAttribBase< MemorySpace >::localNum_mp
protected

Definition at line 70 of file ParticleAttribBase.h.

◆ name_m

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
std::string ippl::detail::ParticleAttribBase< MemorySpace >::name_m
protected

Definition at line 71 of file ParticleAttribBase.h.


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