Reference documentation for deal.II version 9.1.0-pre
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

using iterator_category = std::bidirectional_iterator_tag
 

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 30 of file particle_accessor.h.

Member Typedef Documentation

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

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

Definition at line 133 of file particle_iterator.h.

Constructor & Destructor Documentation

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

Empty constructor. Such an object is not usable!

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

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 50 of file particle_iterator.cc.

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.

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

Assignment operator.

Definition at line 67 of file particle_iterator.cc.

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 59 of file particle_iterator.cc.

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

Dereferencing operator, non-const version.

Definition at line 41 of file particle_iterator.cc.

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

Compare for equality.

Definition at line 88 of file particle_iterator.cc.

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.

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 97 of file particle_iterator.cc.

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 107 of file particle_iterator.cc.

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 119 of file particle_iterator.cc.

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 129 of file particle_iterator.cc.

Member Data Documentation

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

The accessor to the actual particle.

Definition at line 143 of file particle_iterator.h.


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