|
SpECTRE
v2025.08.19
|
Iterate over LinearSolver::Schwarz::ElementCenteredSubdomainData
More...
#include <ElementCenteredSubdomainData.hpp>
Public Types | |
| using | difference_type = ptrdiff_t |
| using | value_type = typename Variables< TagsList >::value_type |
| using | pointer = value_type * |
| using | reference = value_type & |
| using | iterator_category = std::forward_iterator_tag |
Public Member Functions | |
| ElementCenteredSubdomainDataIterator (PtrType data) | |
| Construct begin state. | |
| void | reset () |
| ElementCenteredSubdomainDataIterator () | |
| Construct end state. | |
| ElementCenteredSubdomainDataIterator & | operator++ () |
| tmpl::conditional_t< Const, value_type, value_type & > | operator* () const |
Friends | |
| bool | operator== (const ElementCenteredSubdomainDataIterator &lhs, const ElementCenteredSubdomainDataIterator &rhs) |
| bool | operator!= (const ElementCenteredSubdomainDataIterator &lhs, const ElementCenteredSubdomainDataIterator &rhs) |
Iterate over LinearSolver::Schwarz::ElementCenteredSubdomainData
This iterator guarantees that it steps through the data in the same order as long as these conditions are satisfied:
overlap_data doesn't changeelement_data and the `overlap_data doesn't changeIterating requires sorting the overlap IDs. If you find this impacts performance, be advised to implement the internal data storage in ElementCenteredSubdomainData so it stores its data contiguously, e.g. by implementing non-owning variables.