14#ifndef IPPL_PARTICLE_ATTRIB_BASE_H
15#define IPPL_PARTICLE_ATTRIB_BASE_H
24 template <
typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
26 template <
class... Properties>
37 template <
typename... Properties>
42 virtual void set_name(
const std::string & name_) = 0;
typename detail::ViewType< int, 1, MemorySpace >::view_type hash_type
virtual ~ParticleAttribBase()=default
virtual void applyPermutation(const hash_type &)=0
virtual void unpack(size_type)=0
virtual void destroy(const hash_type &, const hash_type &, size_type)=0
void setParticleCount(size_type &num)
virtual void deserialize(Archive< memory_space > &ar, size_type nrecvs)=0
ippl::detail::hash_type< memory_space > hash_type
const size_type * localNum_mp
size_type getParticleCount() const
virtual void create(size_type)=0
virtual size_type size() const =0
typename WithMemSpace< Properties... >::type with_properties
typename memory_space::execution_space execution_space
memory_space memory_space
virtual std::string get_name() const =0
virtual size_type packedSize(const size_type) const =0
virtual void set_name(const std::string &name_)=0
virtual void serialize(Archive< memory_space > &ar, size_type nsends)=0
virtual void pack(const hash_type &)=0
virtual void internalCopy(const hash_type &)=0
ParticleAttribBase< memory_space > type
typename Kokkos::View< char *, Properties... >::memory_space memory_space