Arcane  v3.14.10.0
Documentation utilisateur
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; }
54 //! Internal
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.
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 -*-