16 #ifndef dealii_particles_particle_iterator_h 17 #define dealii_particles_particle_iterator_h 19 #include <deal.II/base/config.h> 21 #include <deal.II/particles/particle_accessor.h> 23 DEAL_II_NAMESPACE_OPEN
28 class ParticleHandler;
35 template <
int dim,
int spacedim = dim>
36 class ParticleIterator
49 const std::multimap<internal::LevelInd, Particle<dim, spacedim>> &map,
50 const typename std::multimap<internal::LevelInd,
51 Particle<dim, spacedim>>::iterator
58 const ParticleAccessor<dim, spacedim> &
operator*()
const;
63 ParticleAccessor<dim, spacedim> &
operator*();
77 const ParticleAccessor<dim, spacedim> *
operator->()
const;
88 operator==(
const ParticleIterator<dim, spacedim> &)
const;
94 operator!=(
const ParticleIterator<dim, spacedim> &)
const;
134 using value_type = ParticleAccessor<dim, spacedim>;
135 using difference_type = std::ptrdiff_t;
136 using pointer = ParticleAccessor<dim, spacedim> *;
137 using reference = ParticleAccessor<dim, spacedim> &;
147 DEAL_II_NAMESPACE_CLOSE
ParticleIterator & operator=(const ParticleIterator &)
ParticleIterator & operator--()
const ParticleAccessor< dim, spacedim > * operator->() const
std::bidirectional_iterator_tag iterator_category
const ParticleAccessor< dim, spacedim > & operator*() const
ParticleIterator & operator++()
bool operator!=(const ParticleIterator< dim, spacedim > &) const
bool operator==(const ParticleIterator< dim, spacedim > &) const
ParticleAccessor< dim, spacedim > accessor
ParticleIterator()=default