Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
core/materials/IEnumeratorTracer.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IEnumeratorTracer.h (C) 2000-2022 */
9/* */
10/* Interface du tracage des énumérateurs sur les composants. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_IENUMERATORTRACER_H
13#define ARCANE_CORE_MATERIALS_IENUMERATORTRACER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/materials/MaterialsCoreGlobal.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24class EnumeratorTraceInfo;
25}
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30namespace Arcane::Materials
31{
32
33class ComponentEnumerator;
34class MatEnumerator;
35class EnvEnumerator;
36class ComponentCellEnumerator;
37class AllEnvCellEnumerator;
38class CellComponentCellEnumerator;
39class ComponentPartSimdCellEnumerator;
40class ComponentPartCellEnumerator;
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
44
45class ARCANE_CORE_EXPORT IEnumeratorTracer
46{
47 private:
48
49 static IEnumeratorTracer* m_singleton;
50
51 public:
52
53 static IEnumeratorTracer* singleton() { return m_singleton; }
55 static void _setSingleton(IEnumeratorTracer* tracer);
56
57 public:
58
59 virtual ~IEnumeratorTracer() {}
60
61 public:
62
63 virtual void enterEnumerator(const ComponentEnumerator& e, EnumeratorTraceInfo& eti) = 0;
64 virtual void exitEnumerator(const ComponentEnumerator& e, EnumeratorTraceInfo& eti) = 0;
65
66 virtual void enterEnumerator(const MatEnumerator& e, EnumeratorTraceInfo& eti) = 0;
67 virtual void exitEnumerator(const MatEnumerator& e, EnumeratorTraceInfo& eti) = 0;
68
69 virtual void enterEnumerator(const EnvEnumerator& e, EnumeratorTraceInfo& eti) = 0;
70 virtual void exitEnumerator(const EnvEnumerator& e, EnumeratorTraceInfo& eti) = 0;
71
72 virtual void enterEnumerator(const ComponentCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
73 virtual void exitEnumerator(const ComponentCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
74
75 virtual void enterEnumerator(const AllEnvCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
76 virtual void exitEnumerator(const AllEnvCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
77
78 virtual void enterEnumerator(const CellComponentCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
79 virtual void exitEnumerator(const CellComponentCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
80
81 virtual void enterEnumerator(const ComponentPartSimdCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
82 virtual void exitEnumerator(const ComponentPartSimdCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
83
84 virtual void enterEnumerator(const ComponentPartCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
85 virtual void exitEnumerator(const ComponentPartCellEnumerator& e, EnumeratorTraceInfo& eti) = 0;
86
87 public:
88
89 virtual void dumpStats() = 0;
90};
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95} // End namespace Arcane::Materials
96
97/*---------------------------------------------------------------------------*/
98/*---------------------------------------------------------------------------*/
99
100#endif
101
Enumérateur SIMD sur une sous-partie (pure ou partielle) d'un sous-ensemble des mailles d'un composan...
Informations pour les traces d'un énumérator.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Enumérateur sur les constituants d'une maille.
Enumérateur sur une partie des mailles d'un composant (matériau ou milieu)
Enumérateur sur une sous-partie (pure ou partielle) d'un sous-ensemble des mailles d'un composant (ma...
Active toujours les traces dans les parties Arcane concernant les matériaux.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-