Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemConnectedEnumerator.h
Aller à la documentation de ce fichier.
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ItemConnectedEnumerator.h (C) 2000-2023 */
9/* */
10/* Enumérateurs sur les entités connectées du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITEMCONNECTEDENUMERATOR_H
13#define ARCANE_ITEMCONNECTEDENUMERATOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/Item.h"
18#include "arcane/core/ItemConnectedEnumeratorBase.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31namespace Arcane
32{
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
41{
42 friend class ItemGroup;
43 friend class ItemVector;
44 friend class ItemVectorView;
45 friend class ItemPairEnumerator;
46 template<int Extent> friend class ItemConnectedListView;
47 // NOTE: Normalement il suffirait de faire cela:
48 // template<class T> friend class ItemConnectedEnumeratorBase;
49 // mais cela ne fonctionne pas avec GCC 8. On fait donc la spécialisation
50 // à la main
59
60 public:
61
63
64 public:
65
66 ItemConnectedEnumerator() = default;
67
68 public:
69
71 : BaseClass(rhs)
72 {}
73
76
77 protected:
78
81 {}
82
83 private:
84
85 ItemConnectedEnumerator(const Int32* local_ids, Int32 index, Int32 n, Item item_base)
87 {}
88};
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
95template<typename ItemType>
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
115
137#ifdef ARCANE_USE_SPECIFIC_ITEMCONNECTED
138
139#define ENUMERATE_CONNECTED_(type,iterator_name,item,connectivity_func) \
140 for( ::Arcane::ItemConnectedEnumeratorT< type > iterator_name( (item) . connectivity_func ); iterator_name . hasNext(); ++iterator_name )
141
142#else
143
144#define ENUMERATE_CONNECTED_(type,iterator_name,item,connectivity_func) \
145 for( ::Arcane::ItemEnumeratorT< type > iterator_name( (item) . connectivity_func ); iterator_name . hasNext(); ++iterator_name )
146
147#endif
148
149/*---------------------------------------------------------------------------*/
150/*---------------------------------------------------------------------------*/
151
152} // End namespace
153
154/*---------------------------------------------------------------------------*/
155/*---------------------------------------------------------------------------*/
156
157#endif
Maille d'un maillage.
Definition Item.h:1178
classe degré de liberté.
Definition Item.h:1488
Arête d'une maille.
Definition Item.h:798
Face d'une maille.
Definition Item.h:932
Classe de base typeé des énumérateurs sur une liste d'entité connectées.
constexpr Int32 index() const
Indice courant de l'énumérateur.
Enumérateur sur une liste typée d'entités connectées de type ItemType.
Enumérateur sur une liste d'entités connectées à une autre.
Vue sur une liste d'entités connectées à une autre entité.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Enumérateur sur un tableau de tableaux d'entités du maillage.
Structure interne partagée d'une entité de maillage.
Vue sur un vecteur d'entités.
Vecteur d'entités.
Definition ItemVector.h:59
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Definition Item.h:714
Classe de base d'un élément de maillage.
Definition Item.h:83
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Noeud d'un maillage.
Definition Dom.h:204
Particule.
Definition Item.h:1383
Vue interne sur un tableau d'entités.
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-