Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
NumericTraits.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/* NumericTraits.h (C) 2000-2022 */
9/* */
10/* Vue sur un tableaux multi-dimensionnel pour les types numériques. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_NUMERICTRAITS_H
13#define ARCANE_UTILS_NUMERICTRAITS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Informations pour les types numériques.
29 *
30 * Permet d'indiquer si un type numérique à un ou plusieurs opérateurs
31 * 'operator[]' ainsi que leur type de retour.
32 */
33template<typename DataType>
35{
36 //! Type de retour de operator[]
37 // using SubscriptType = Real2;
38
39 //! Type de retour de operator[] const
40 // using SubscriptConstType = Real2;
41
42 //! Type de retour de operator[][]
43 // using Subscript2Type = Real;
44
45 //! Type de retour de operator[][] const
46 // using Subscript2ConstType = Real;
47};
48
49/*---------------------------------------------------------------------------*/
50/*---------------------------------------------------------------------------*/
51
52template<>
54{
55 public:
56 using SubscriptType = Real&;
57 using SubscriptConstType = Real;
58};
59
60template<>
62{
63 public:
64 using SubscriptType = const Real;
65 using SubscriptConstType = const Real;
66};
67
68template<>
70{
71 public:
72 using SubscriptType = Real&;
73 using SubscriptConstType = Real;
74};
75
76template<>
78{
79 public:
80 using SubscriptType = const Real;
81 using SubscriptConstType = const Real;
82};
83
84template<>
86{
87 public:
88 using SubscriptType = const Real2;
89 using Subscript2Type = Real&;
90 using Subscript2ConstType = const Real;
91};
92
93template<>
95{
96 public:
97 using SubscriptType = const Real2;
98 using Subscript2Type = const Real;
99 using Subscript2ConstType = const Real;
100};
101
102template<>
104{
105 public:
106 //! Type de retour de operator[] pour ce type
107 using SubscriptType = const Real3;
108 using Subscript2Type = Real&;
109 using Subscript2ConstType = const Real;
110};
111
112template<>
114{
115 public:
116 //! Type de retour de operator[] pour ce type
117 using SubscriptType = const Real3;
118 using Subscript2Type = const Real;
119 using Subscript2ConstType = const Real;
120};
121
122/*---------------------------------------------------------------------------*/
123/*---------------------------------------------------------------------------*/
124
125} // End namespace Arcane
126
127/*---------------------------------------------------------------------------*/
128/*---------------------------------------------------------------------------*/
129
130#endif
Déclarations des types utilisés dans Arcane.
Informations pour les types numériques.
Classe gérant un vecteur de réel de dimension 2.
Definition Real2.h:121
Classe gérant une matrice de réel de dimension 2x2.
Definition Real2x2.h:53
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Classe gérant une matrice de réel de dimension 3x3.
Definition Real3x3.h:66
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-