Arcane  v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ItemEnumerator.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ItemEnumerator.cc (C) 2000-2024 */
9/* */
10/* Enumérateur sur des groupes d'entités du maillage. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
15
16#include "arcane/utils/Ref.h"
17
18/*---------------------------------------------------------------------------*/
19/*---------------------------------------------------------------------------*/
20
21namespace Arcane
22{
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace
28{
29Ref<IItemEnumeratorTracer> m_singleton_tracer;
30}
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35IItemEnumeratorTracer* IItemEnumeratorTracer::
36singleton()
37{
38 return m_singleton_tracer.get();
39}
40
41/*---------------------------------------------------------------------------*/
42/*---------------------------------------------------------------------------*/
43
45{
46 public:
47 ItemSharedInfo* m_shared_info;
48 const Int32* m_local_ids;
49 Integer m_index;
50 Integer m_count;
51};
52
53void
54_arcaneInternalItemEnumeratorSwigSet(const ItemEnumerator* ie, ItemEnumeratorPOD* vpod)
55{
56 vpod-> m_local_ids = ie->unguardedLocalIds();
57 vpod-> m_index = ie->index();
58 vpod-> m_count = ie->count();
59 vpod-> m_shared_info = ie->_sharedInfo();
60}
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65extern "C++" ARCANE_CORE_EXPORT void
66arcaneSetSingletonItemEnumeratorTracer(Ref<IItemEnumeratorTracer> tracer)
67{
68 m_singleton_tracer = tracer;
69}
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73// Pour tester la validité des instantiations
74
75template class ItemVectorViewConstIteratorT<Cell>;
76template class ItemVectorViewT<Cell>;
77
78template class ItemEnumeratorT<Node>;
79template class ItemEnumeratorT<Edge>;
80template class ItemEnumeratorT<Face>;
81template class ItemEnumeratorT<Cell>;
82template class ItemEnumeratorT<Particle>;
83template class ItemEnumeratorT<DoF>;
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88} // End namespace Arcane
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
Types et macros pour itérer sur les entités du maillage.
Enumérateur sur une liste d'entités.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-