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*();
71 const ParticleAccessor<dim, spacedim> *
operator->()
const;
82 operator==(
const ParticleIterator<dim, spacedim> &)
const;
88 operator!=(
const ParticleIterator<dim, spacedim> &)
const;
129 using difference_type = std::ptrdiff_t;
141 DEAL_II_NAMESPACE_CLOSE
ParticleIterator & operator--()
std::bidirectional_iterator_tag iterator_category
ParticleIterator & operator++()
bool operator==(const ParticleIterator< dim, spacedim > &) const
ParticleAccessor< dim, spacedim > accessor
const ParticleAccessor< dim, spacedim > & operator*() const
const ParticleAccessor< dim, spacedim > * operator->() const
ParticleIterator()=default
bool operator!=(const ParticleIterator< dim, spacedim > &) const