1#ifndef AMREX_ARRAYOFSTRUCTS_H_
2#define AMREX_ARRAYOFSTRUCTS_H_
3#include <AMReX_Config.H>
11template <
typename T_ParticleType,
16 using RealType =
typename ParticleType::RealType;
62 resize(nrp + num_neighbors);
75 [[nodiscard]] std::pair<int,int>
dataShape ()
const {
104 template<
class InputIt >
121#if __cplusplus < 201703L
122template <
typename ParticleType,
123 template<
class>
class Allocator>
Definition AMReX_ArrayOfStructs.H:13
typename ParticleVector::const_iterator ConstIterator
Definition AMReX_ArrayOfStructs.H:21
const ParticleType * dataPtr() const
Definition AMReX_ArrayOfStructs.H:72
ParticleVector::const_iterator begin() const
Definition AMReX_ArrayOfStructs.H:108
bool empty()
Definition AMReX_ArrayOfStructs.H:81
ParticleType * data()
Definition AMReX_ArrayOfStructs.H:70
const ParticleType * data() const
Definition AMReX_ArrayOfStructs.H:69
const ParticleType & operator[](int i) const
Definition AMReX_ArrayOfStructs.H:86
int numNeighborParticles() const
Returns the number of neighbor particles (excluding reals)
Definition AMReX_ArrayOfStructs.H:50
int m_num_neighbor_particles
Definition AMReX_ArrayOfStructs.H:115
bool empty() const
Definition AMReX_ArrayOfStructs.H:67
ParticleVector::const_iterator cbegin() const
Definition AMReX_ArrayOfStructs.H:109
void setNumNeighbors(int num_neighbors)
Definition AMReX_ArrayOfStructs.H:58
T_ParticleType ParticleType
Definition AMReX_ArrayOfStructs.H:15
typename ParticleType::RealType RealType
Definition AMReX_ArrayOfStructs.H:16
static constexpr int SizeInReal
Definition AMReX_ArrayOfStructs.H:23
void push_back(const ParticleType &p)
Definition AMReX_ArrayOfStructs.H:79
void resize(size_t count, GrowthStrategy strategy=GrowthStrategy::Poisson)
Definition AMReX_ArrayOfStructs.H:94
int numTotalParticles() const
Returns the total number of particles (real and neighbor)
Definition AMReX_ArrayOfStructs.H:56
ParticleVector::iterator begin()
Definition AMReX_ArrayOfStructs.H:107
const ParticleVector & operator()() const
Definition AMReX_ArrayOfStructs.H:25
std::pair< int, int > dataShape() const
Definition AMReX_ArrayOfStructs.H:75
ParticleVector::iterator end()
Definition AMReX_ArrayOfStructs.H:111
ParticleVector::const_iterator cend() const
Definition AMReX_ArrayOfStructs.H:113
ParticleType & back()
Definition AMReX_ArrayOfStructs.H:84
ParticleType * dataPtr()
Definition AMReX_ArrayOfStructs.H:73
int numParticles() const
Returns the number of real particles (excluding neighbors)
Definition AMReX_ArrayOfStructs.H:38
void pop_back()
Definition AMReX_ArrayOfStructs.H:80
ParticleVector::const_iterator end() const
Definition AMReX_ArrayOfStructs.H:112
const ParticleType & back() const
Definition AMReX_ArrayOfStructs.H:83
ParticleVector m_data
Definition AMReX_ArrayOfStructs.H:118
void insert(Iterator pos, InputIt first, InputIt last)
Definition AMReX_ArrayOfStructs.H:105
typename ParticleVector::iterator Iterator
Definition AMReX_ArrayOfStructs.H:20
int numRealParticles() const
Returns the number of real particles (excluding neighbors)
Definition AMReX_ArrayOfStructs.H:44
void reserve(size_t capacity, GrowthStrategy strategy=GrowthStrategy::Poisson)
Definition AMReX_ArrayOfStructs.H:98
int getNumNeighbors() const
Definition AMReX_ArrayOfStructs.H:65
Iterator erase(ConstIterator first, ConstIterator second)
Definition AMReX_ArrayOfStructs.H:102
std::size_t size() const
Returns the total number of particles (real and neighbor)
Definition AMReX_ArrayOfStructs.H:32
void swap(ArrayOfStructs &other) noexcept
Definition AMReX_ArrayOfStructs.H:89
Dynamically allocated vector for trivially copyable data.
Definition AMReX_PODVector.H:308
void reserve(size_type a_capacity, GrowthStrategy strategy=GrowthStrategy::Poisson)
Definition AMReX_PODVector.H:811
const_iterator cbegin() const noexcept
Definition AMReX_PODVector.H:690
iterator insert(const_iterator a_pos, const T &a_item)
Definition AMReX_PODVector.H:499
iterator erase(const_iterator a_pos)
Definition AMReX_PODVector.H:478
size_type size() const noexcept
Definition AMReX_PODVector.H:648
void swap(PODVector< T, Allocator > &a_vector) noexcept
Definition AMReX_PODVector.H:840
void pop_back() noexcept
Definition AMReX_PODVector.H:644
T * iterator
Definition AMReX_PODVector.H:324
iterator begin() noexcept
Definition AMReX_PODVector.H:674
void resize(size_type a_new_size, GrowthStrategy strategy=GrowthStrategy::Poisson)
Definition AMReX_PODVector.H:728
iterator end() noexcept
Definition AMReX_PODVector.H:678
const_iterator cend() const noexcept
Definition AMReX_PODVector.H:692
const T * const_iterator
Definition AMReX_PODVector.H:329
T & back() noexcept
Definition AMReX_PODVector.H:662
T * data() noexcept
Definition AMReX_PODVector.H:666
bool empty() const noexcept
Definition AMReX_PODVector.H:652
void push_back(const T &a_value)
Definition AMReX_PODVector.H:629
Definition AMReX_Amr.cpp:49
amrex::ArenaAllocator< T > DefaultAllocator
Definition AMReX_GpuAllocators.H:193
GrowthStrategy
Definition AMReX_PODVector.H:250
double second() noexcept
Definition AMReX_Utility.cpp:940