Reference documentation for deal.II version 9.0.0
Public Types | Public Member Functions | Private Attributes | List of all members
Particles::ParticleIterator< dim, spacedim > Class Template Reference

#include <deal.II/particles/particle_iterator.h>

Public Types

typedef std::bidirectional_iterator_tag iterator_category
 

Public Member Functions

 ParticleIterator ()=default
 
 ParticleIterator (const std::multimap< internal::LevelInd, Particle< dim, spacedim > > &map, const typename std::multimap< internal::LevelInd, Particle< dim, spacedim > >::iterator &particle)
 
const ParticleAccessor< dim, spacedim > & operator* () const
 
ParticleAccessor< dim, spacedim > & operator* ()
 
ParticleIteratoroperator= (const ParticleIterator &)
 
const ParticleAccessor< dim, spacedim > * operator-> () const
 
ParticleAccessor< dim, spacedim > * operator-> ()
 
bool operator== (const ParticleIterator< dim, spacedim > &) const
 
bool operator!= (const ParticleIterator< dim, spacedim > &) const
 
ParticleIteratoroperator++ ()
 
ParticleIterator operator++ (int)
 
ParticleIteratoroperator-- ()
 
ParticleIterator operator-- (int)
 

Private Attributes

ParticleAccessor< dim, spacedim > accessor
 

Detailed Description

template<int dim, int spacedim = dim>
class Particles::ParticleIterator< dim, spacedim >

A class that is used to iterate over particles. Together with the ParticleAccessor class this is used to hide the internal implementation of the particle class and the particle container.

Definition at line 27 of file particle_accessor.h.

Member Typedef Documentation

◆ iterator_category

template<int dim, int spacedim = dim>
typedef std::bidirectional_iterator_tag Particles::ParticleIterator< dim, spacedim >::iterator_category

Mark the class as bidirectional iterator and declare some typedefs which are standard for iterators and are used by algorithms to enquire about the specifics of the iterators they work on.

Definition at line 121 of file particle_iterator.h.

Constructor & Destructor Documentation

◆ ParticleIterator() [1/2]

template<int dim, int spacedim = dim>
Particles::ParticleIterator< dim, spacedim >::ParticleIterator ( )
default

Empty constructor. Such an object is not usable!

◆ ParticleIterator() [2/2]

template<int dim, int spacedim>
Particles::ParticleIterator< dim, spacedim >::ParticleIterator ( const std::multimap< internal::LevelInd, Particle< dim, spacedim > > &  map,
const typename std::multimap< internal::LevelInd, Particle< dim, spacedim > >::iterator &  particle 
)

Constructor of the iterator. Takes a reference to the particle container, and an iterator to the cell-particle pair.

Definition at line 23 of file particle_iterator.cc.

Member Function Documentation

◆ operator*() [1/2]

template<int dim, int spacedim>
const ParticleAccessor< dim, spacedim > & Particles::ParticleIterator< dim, spacedim >::operator* ( ) const

Dereferencing operator, returns a reference to an accessor. Usage is thus like (*i).get_id ();

Definition at line 51 of file particle_iterator.cc.

◆ operator*() [2/2]

template<int dim, int spacedim>
ParticleAccessor< dim, spacedim > & Particles::ParticleIterator< dim, spacedim >::operator* ( )

Dereferencing operator, non-const version.

Definition at line 33 of file particle_iterator.cc.

◆ operator=()

template<int dim, int spacedim>
ParticleIterator< dim, spacedim > & Particles::ParticleIterator< dim, spacedim >::operator= ( const ParticleIterator< dim, spacedim > &  other)

Assignment operator.

Definition at line 68 of file particle_iterator.cc.

◆ operator->() [1/2]

template<int dim, int spacedim>
const ParticleAccessor< dim, spacedim > * Particles::ParticleIterator< dim, spacedim >::operator-> ( ) const

Dereferencing operator, returns a pointer of the particle pointed to. Usage is thus like i->get_id ();

There is a const and a non-const version.

Definition at line 60 of file particle_iterator.cc.

◆ operator->() [2/2]

template<int dim, int spacedim>
ParticleAccessor< dim, spacedim > * Particles::ParticleIterator< dim, spacedim >::operator-> ( )

Dereferencing operator, non-const version.

Definition at line 42 of file particle_iterator.cc.

◆ operator==()

template<int dim, int spacedim>
bool Particles::ParticleIterator< dim, spacedim >::operator== ( const ParticleIterator< dim, spacedim > &  other) const

Compare for equality.

Definition at line 87 of file particle_iterator.cc.

◆ operator!=()

template<int dim, int spacedim>
bool Particles::ParticleIterator< dim, spacedim >::operator!= ( const ParticleIterator< dim, spacedim > &  other) const

Compare for inequality.

Definition at line 78 of file particle_iterator.cc.

◆ operator++() [1/2]

template<int dim, int spacedim>
ParticleIterator< dim, spacedim > & Particles::ParticleIterator< dim, spacedim >::operator++ ( )

Prefix ++ operator: ++iterator. This operator advances the iterator to the next element and returns a reference to *this.

Definition at line 96 of file particle_iterator.cc.

◆ operator++() [2/2]

template<int dim, int spacedim>
ParticleIterator< dim, spacedim > Particles::ParticleIterator< dim, spacedim >::operator++ ( int  )

Postfix ++ operator: iterator++. This operator advances the iterator to the next element, but returns an iterator to the element previously pointed to.

Definition at line 106 of file particle_iterator.cc.

◆ operator--() [1/2]

template<int dim, int spacedim>
ParticleIterator< dim, spacedim > & Particles::ParticleIterator< dim, spacedim >::operator-- ( )

Prefix operator: –iterator. This operator moves the iterator to the previous element and returns a reference to *this.

Definition at line 118 of file particle_iterator.cc.

◆ operator--() [2/2]

template<int dim, int spacedim>
ParticleIterator< dim, spacedim > Particles::ParticleIterator< dim, spacedim >::operator-- ( int  )

Postfix operator: iterator–. This operator moves the iterator to the previous element, but returns an iterator to the element previously pointed to.

Definition at line 128 of file particle_iterator.cc.

Member Data Documentation

◆ accessor

template<int dim, int spacedim = dim>
ParticleAccessor<dim,spacedim> Particles::ParticleIterator< dim, spacedim >::accessor
private

The accessor to the actual particle.

Definition at line 131 of file particle_iterator.h.


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