12#ifndef ARCANE_UTILS_ARRAYCONVERTER_H
13#define ARCANE_UTILS_ARRAYCONVERTER_H
17#include "arcane/utils/Array.h"
28template<
typename TypeA,
typename TypeB>
34 for( Integer i=0, is=input.
size(); i<is; ++i )
35 output[i] = (TypeB)input[i];
39 for( Integer i=0, is=input.
size(); i<is; ++i )
40 output[i] = (TypeA)input[i];
49template<
typename InputType,
typename OutputType,
74 m_input_array = values;
80 m_input_array = values;
86 m_converter.convertFromBToA(m_output_array,m_input_array);
90 m_input_array = values;
93 void notifyOutputChanged()
95 m_converter.convertFromBToA(m_output_array,m_input_array);
97 void notifyInputChanged()
99 m_converter.convertFromAToB(m_input_array,m_output_array);
106 ARCANE_DEPRECATED_280 iterator
begin() {
return m_output_array.
begin(); }
110 ARCANE_DEPRECATED_280 const_iterator
begin()
const {
return m_output_array.
begin(); }
111 OutputArrayType& array() {
return m_output_array; }
112 OutputArrayType& array()
const {
return m_output_array; }
113 pointer data() {
return m_output_array.
data(); }
114 const_pointer data()
const {
return m_output_array.
data(); }
121 m_converter.convertFromAToB(m_input_array,m_output_array);
124 ArrayView<InputType> m_input_array;
125 OutputArrayType m_output_array;
126 Converter m_converter;
137template<
typename InputType>
157 m_input_array = values;
162 m_input_array = values;
170 ARCANE_DEPRECATED_280 iterator
begin() {
return m_input_array.
begin(); }
174 ARCANE_DEPRECATED_280 const_iterator
begin()
const {
return m_input_array.
begin(); }
175 OutputArrayType& array() {
return m_input_array; }
176 OutputArrayType& array()
const {
return m_input_array; }
177 void notifyOutputChanged() {}
178 void notifyInputChanged() {}
179 pointer data() {
return m_input_array.
data(); }
180 const_pointer data()
const {
return m_input_array.
data(); }
184 ArrayView<InputType> m_input_array;
192template<
typename InputType,
typename OutputType,
193 typename Converter = DefaultConverter<InputType,OutputType> >
198 typedef typename OutputArrayType::const_iterator const_iterator;
199 typedef typename OutputArrayType::const_pointer const_pointer;
218 m_input_array = values;
224 m_input_array = values;
235 ARCANE_DEPRECATED_280 const_iterator
begin()
const {
return m_output_array.
begin(); }
236 OutputArrayType& array()
const {
return m_output_array; }
237 const_pointer data()
const {
return m_output_array.
data(); }
244 m_converter.convertFromAToB(m_input_array,m_output_array);
247 ConstArrayView<InputType> m_input_array;
248 UniqueArray<OutputType> m_output_array;
249 Converter m_converter;
260template<
typename InputType>
279 m_input_array = values;
290 ARCANE_DEPRECATED_280 const_iterator
begin()
const {
return m_input_array.
begin(); }
291 OutputArrayType& array()
const {
return m_input_array; }
292 const_pointer data()
const {
return m_input_array.
data(); }
296 ConstArrayView<InputType> m_input_array;
Conversion d'un tableau d'un type vers un autre type.
ARCANE_DEPRECATED_280 iterator begin()
ARCANE_DEPRECATED_280 const_iterator begin() const
Conversion d'un tableau d'un type vers un autre type.
ARCANE_DEPRECATED_280 const_iterator begin() const
const value_type * const_pointer
Type pointeur constant d'un élément du tableau.
ArrayIterator< pointer > iterator
Type de l'itérateur sur un élément du tableau.
ArrayIterator< const_pointer > const_iterator
Type de l'itérateur constant sur un élément du tableau.
value_type * pointer
Type pointeur d'un élément du tableau.
Vue modifiable d'un tableau d'un type T.
value_type * pointer
Type pointeur d'un élément du tableau.
ArrayIterator< const_pointer > const_iterator
Type de l'itérateur constant sur un élément du tableau.
constexpr Integer size() const noexcept
Retourne la taille du tableau.
const value_type * const_pointer
Type pointeur constant d'un élément du tableau.
ArrayIterator< pointer > iterator
Type de l'itérateur sur un élément du tableau.
constexpr const_pointer data() const noexcept
Pointeur sur le début de la vue.
constexpr iterator begin() noexcept
Itérateur sur le premier élément du tableau.
const T * data() const
Accès à la racine du tableau hors toute protection.
iterator begin()
Itérateur sur le premier élément du tableau.
void resize(Int64 s)
Change le nombre d'éléments du tableau à s.
Vue constante d'un tableau de type T.
constexpr const_iterator begin() const noexcept
Itérateur sur le premier élément du tableau.
const value_type * const_pointer
Type pointeur constant d'un élément du tableau.
constexpr Integer size() const noexcept
Nombre d'éléments du tableau.
ArrayIterator< const_pointer > const_iterator
Type de l'itérateur constant sur un élément du tableau.
constexpr const_pointer data() const noexcept
Pointeur sur la mémoire allouée.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-