12#ifndef ARCANE_VARIABLECOLLECTION_H
13#define ARCANE_VARIABLECOLLECTION_H
17#include "arcane/utils/Array.h"
19#include "arcane/VariableRef.h"
20#include "arcane/SharedReference.h"
21#include "arcane/utils/AutoRef.h"
34class VariableCollection;
49 return m_index<m_count;
53 return m_collection[m_index];
61 return this->operator++();
91 void deleteMe()
override {
delete this; }
127 Integer count()
const
129 return _values().size();
133 template<
class Function> Function
136 std::for_each(_values().begin(),_values().end(),f);
147 return _values().empty();
150 VariableCollection clone()
const
152 VariableCollection new_collection;
153 new_collection._values().copy(_values());
154 return new_collection;
157 VariableCollectionEnumerator enumerator()
const
159 return VariableCollectionEnumerator(*
this);
162 bool contains(IVariable* v)
const
164 return _values().contains(v);
167 bool contains(VariableRef& v)
const
169 return _values().contains(v.variable());
173 void sortByName(
bool is_ascendent);
177 const Array<IVariable*>& _values()
const {
return m_p->variables(); }
178 Array<IVariable*>& _values() {
return m_p->variables(); }
Implémentation d'un compteur de référence utilisant std::atomic.
Function each(Function f)
Applique le fonctor f à tous les éléments de la collection.
Référence à une variable.
IVariable * variable() const
Variable associée.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication par un scalaire.