12#ifndef ARCANE_UTILS_BUILTINPROXY_H
13#define ARCANE_UTILS_BUILTINPROXY_H
17#include "arcane/utils/Numeric.h"
18#include "arcane/utils/MemoryAccessInfo.h"
30template<
typename Type>
41 : m_value(
ref), m_info(info) {}
43 : m_value(f.m_value), m_info(f.m_info) {}
45 { setValue(f.m_value);
return m_value; }
47 { setValue(v);
return m_value; }
51 {
return getValue(); }
57 return setValue(getValue()+
b);
61 setValue(getValue()+1);
71 setValue(getValue()-1);
81 return setValue(getValue()-
b);
85 return setValue(getValue()*
b);
89 return setValue(getValue()/
b);
100 Type getValue()
const
105 Type& getValueMutable()
107 m_info.setReadOrWrite();
116template<
typename Type>
inline
119 return a.getValue()==
b.getValue();
121template<
typename Type>
inline
122bool operator==(
const BuiltInProxy<Type>& a,
const Type& b)
124 return a.getValue()==b;
126template<
typename Type>
inline
127bool operator==(
const Type& a,
const BuiltInProxy<Type>& b)
129 return a==b.getValue();
139template<
typename Type>
inline std::istream&
153template<
class _Type>
inline bool
163template<
class _Type>
inline bool
Proxy d'un type du langage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Opérations de comparaisons pour un type numérique T.
bool isZero(const BuiltInProxy< _Type > &a)
Teste si une valeur est exactement égale à zéro.