Advanced Multi-Physics (AMP)
On-Line Documentation
MeshListIterator.h
Go to the documentation of this file.
1#ifndef included_AMP_MeshListIterator
2#define included_AMP_MeshListIterator
3
4#include "AMP/mesh/MeshIterator.h"
5#include "AMP/utils/Utilities.h"
6
7#include <iterator>
8#include <memory>
9
10
11namespace AMP::Mesh {
12
13
20template<class TYPE = MeshElement>
22{
23public:
24 static MeshIterator create( std::shared_ptr<std::vector<TYPE>> elements, size_t pos = 0 );
25
28
30 MeshListIterator( std::shared_ptr<std::vector<TYPE>> elements, size_t pos = 0 );
31
33 ~MeshListIterator() = default;
34
37
40
43
46
48 std::string className() const override { return "MeshListIterator"; }
49
51 void setPos( size_t ) override;
52
55
58
59 // Arithmetic operator+=
60 MeshIteratorBase &operator+=( int N ) override;
61
63 bool operator==( const MeshIteratorBase &rhs ) const override;
64
66 bool operator!=( const MeshIteratorBase &rhs ) const override;
67
69 MeshIterator begin() const override;
70
71 using MeshIteratorBase::operator==;
72 using MeshIteratorBase::operator!=;
73
74
75public: // Write/read restart data
77 void writeRestart( int64_t ) const override;
79
80
81protected:
83 std::unique_ptr<MeshIteratorBase> clone() const override;
84
85
86private:
87 // A pointer to a std::vector containing the desired mesh elements
88 std::shared_ptr<std::vector<TYPE>> d_elements;
89};
90
91} // namespace AMP::Mesh
92
93#endif
Class to manage reading/writing restart data.
A base class used to iterate over elements in a Mesh.
size_t pos() const
Return the current position (from the beginning) in the iterator.
A class used to iterate over elements in a Mesh.
A class used to iterate over a set of mesh elements.
void setPos(size_t) override
Set the position in the iterator.
MeshIteratorBase & operator++() override
Increment.
bool operator!=(const MeshIteratorBase &rhs) const override
Check if two iterators are not equal.
void registerChildObjects(AMP::IO::RestartManager *) const override
MeshListIterator(const MeshListIterator &)
Copy constructor.
void writeRestart(int64_t) const override
MeshIteratorBase & operator--() override
Decrement.
~MeshListIterator()=default
Deconstructor.
MeshIterator begin() const override
Return an iterator to the begining.
std::shared_ptr< std::vector< TYPE > > d_elements
MeshListIterator()
Empty MeshListIterator constructor.
bool operator==(const MeshIteratorBase &rhs) const override
Check if two iterators are equal.
MeshListIterator & operator=(MeshListIterator &&)=delete
Move operator.
static MeshIterator create(std::shared_ptr< std::vector< TYPE > > elements, size_t pos=0)
MeshIteratorBase & operator+=(int N) override
MeshListIterator(std::shared_ptr< std::vector< TYPE > > elements, size_t pos=0)
Default MeshListIterator constructor.
std::unique_ptr< MeshIteratorBase > clone() const override
Clone the iterator.
MeshListIterator & operator=(const MeshListIterator &)
Assignment operator.
MeshListIterator(MeshListIterator &&)=delete
Move constructor.
MeshListIterator(int64_t, AMP::IO::RestartManager *)
std::string className() const override
Return the class name.



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page