12#ifndef ARCANE_CARTESIANMESH_CARTESIANMESPATCHLISTVIEW_H
13#define ARCANE_CARTESIANMESH_CARTESIANMESPATCHLISTVIEW_H
17#include "arcane/utils/ArrayView.h"
21#include "arcane/cartesianmesh/CartesianPatch.h"
35class ARCANE_CARTESIANMESH_EXPORT CartesianMeshPatchListView
37 friend CartesianMeshImpl;
38 friend CartesianPatchGroup;
49 friend CartesianMeshPatchListView;
53 typedef std::forward_iterator_tag iterator_category;
55 typedef Int32 size_type;
64 Iterator& operator++()
69 friend bool operator==(
const Iterator& a,
const Iterator& b)
71 return (a.m_patches.data() + a.m_index) == (b.m_patches.data() + b.m_index);
73 friend bool operator!=(
const Iterator& a,
const Iterator& b)
75 return !(operator==(a, b));
77 friend bool operator==(
const Iterator& a,
const Sentinel&)
79 return a.m_patches.size() != a.m_index;
81 friend bool operator!=(
const Iterator& a,
const Sentinel& b)
83 return !(operator==(a, b));
101 CartesianMeshPatchListView() =
default;
113 Sentinel end()
const {
return {}; }
114 Iterator endIterator()
const {
return Iterator(m_patches, m_patches.size()); }
115 Int32 size()
const {
return m_patches.size(); }
119 ConstArrayView<ICartesianMeshPatch*> m_patches;
Déclarations des types généraux de Arcane.
Sentinelle pour l'itération pour une liste de patchs.
Patch AMR d'un maillage cartésien.
Vue constante d'un tableau de type T.
Interface d'un patch AMR d'un maillage cartésien.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.