MaMiCo 1.2
Loading...
Searching...
No Matches
MoleculeIterator.h
1// Copyright (C) 2015 Technische Universitaet Muenchen
2// This file is part of the Mamico project. For conditions of distribution
3// and use, please see the copyright notice in Mamico's main folder, or at
4// www5.in.tum.de/mamico
5#ifndef _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULEITERATOR_H_
6#define _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULEITERATOR_H_
7
8#include "coupling/interface/Molecule.h"
9
10namespace coupling {
11namespace interface {
12template <class LinkedCell, unsigned int dim> class MoleculeIterator;
13}
14} // namespace coupling
15
24template <class LinkedCell, unsigned int dim> class coupling::interface::MoleculeIterator {
25protected:
26 LinkedCell& _cell;
27
28public:
30 MoleculeIterator(LinkedCell& cell) : _cell(cell) {}
31
33 virtual ~MoleculeIterator() {}
34
36 virtual void begin() = 0;
37
40 virtual bool continueIteration() const = 0;
41
43 virtual void next() = 0;
44
48
52};
53
54#endif // _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULEITERATOR_H_
some iterator scheme for traversing the molecules within a linked cell.
Definition MoleculeIterator.h:24
virtual bool continueIteration() const =0
virtual ~MoleculeIterator()
Definition MoleculeIterator.h:33
MoleculeIterator(LinkedCell &cell)
Definition MoleculeIterator.h:30
virtual const coupling::interface::Molecule< dim > & getConst()=0
virtual coupling::interface::Molecule< dim > & get()=0
interface to access a single molecule in the MD simulation.
Definition Molecule.h:23
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15