Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemIndexedListView.h
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/* ItemIndexedListView.h (C) 2000-2023 */
9/* */
10/* Vue sur une liste indexée d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITEMINDEXEDLISTVIEW_H
13#define ARCANE_ITEMINDEXEDLISTVIEW_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/ArrayView.h"
18
19#include "arcane/core/ItemSharedInfo.h"
20#include "arcane/core/ItemLocalIdListContainerView.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane::impl
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
42template <int Extent>
43class ARCANE_CORE_EXPORT ItemIndexedListView
44{
45 static_assert(Extent == (-1), "only dynamic (-1) extent is currently supported");
46
48 friend ItemBase;
49 friend ItemVectorView;
51 friend class ItemConnectedListView<DynExtent>;
52 template <typename T> friend class Arcane::ItemEnumeratorBaseT;
53 template <typename T> friend class Arcane::ItemConnectedEnumeratorBaseT;
54
55 public:
56
57 ItemIndexedListView() = default;
58
59 private:
60
61 // TODO: A supprimer
62 constexpr ItemIndexedListView(ItemSharedInfo* si, SmallSpan<const Int32> local_ids, Int32 local_id_offset)
63 : m_local_ids(local_ids)
64 , m_shared_info(si)
65 , m_local_id_offset(local_id_offset)
66 {
67 ARCANE_ASSERT(m_shared_info, ("null shared_info"));
68 }
69
71 : m_local_ids(container_view.m_local_ids, container_view.m_size)
72 , m_shared_info(si)
73 , m_local_id_offset(container_view.m_local_id_offset)
74 {
75 ARCANE_ASSERT(m_shared_info, ("null shared info"));
76 }
77
78 private:
79
81 constexpr Int32 size() const { return m_local_ids.size(); }
82
84 constexpr SmallSpan<const Int32, Extent> localIds() const { return m_local_ids; }
85
87 ConstArrayView<Int32> constLocalIds() const { return m_local_ids.constSmallView(); }
88
89 private:
90
92 ItemSharedInfo* m_shared_info = ItemSharedInfo::nullInstance();
93 Int32 m_local_id_offset;
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99} // namespace Arcane::impl
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
Classe de base pour les entités du maillage.
Classe de base typeé des énumérateurs sur une liste d'entité connectées.
Vue sur une liste d'entités connectées à une autre entité.
Classe de base des énumérateurs sur une liste d'entité.
Informations de connectivité, pour une famille d'entité, permettant la transition entre les anciennes...
Vue interne sur un tableau d'entités.
Structure interne partagée d'une entité de maillage.
Vue sur un vecteur d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue interne sur un tableau d'entités.
constexpr SmallSpan< const Int32, Extent > localIds() const
Tableau des numéros locaux des entités.
ConstArrayView< Int32 > constLocalIds() const
Tableau des numéros locaux des entités.
constexpr Int32 size() const
Nombre d'éléments du vecteur.
Vue sur le conteneur d'une liste de ItemLocalId.
constexpr Int32 DynExtent
Constante pour indiquer que la dimension d'un tableau est dynamique.
Definition UtilsTypes.h:255