XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
functor.cpp
Aller à la documentation de ce fichier.
1 #include "functor.hpp"
2 #include "array_new.hpp"
3 
4 namespace xios
5 {
6  namespace func
7  {
9 
11  : SuperClass(id), doutput(doutput), nbcall(0),hasMissingValue(false)
12  { /* Ne rien faire de plus */ }
13 
14  CFunctor::CFunctor(const StdString & id, CArray<double, 1>& doutput, double missingValue)
15  : SuperClass(id), doutput(doutput), nbcall(0),hasMissingValue(true),missingValue(missingValue)
16  {
17  /* Ne rien faire de plus */
18  }
19 
21  { /* Ne rien faire de plus */ }
22 
23  //---------------------------------------------------------------
24 
26  {
27  return (this->doutput);
28  }
29 
30  //---------------------------------------------------------------
31 
33  {
34  ERROR("CFunctor::toString()", << "Not implemented yet !");
35  return (SuperClass::getId());
36  }
37 
38  void CFunctor::fromString(const StdString & str)
39  {
40  ERROR("CFunctor::fromString(str)",
41  << "[ str = " << str << "] Not implemented yet !");
42  }
43 
44  //---------------------------------------------------------------
45 
47  {
48  this->nbcall++;
49  if (dinput.numElements() != this->doutput.numElements())
50  ERROR("CFunctor::operator ()(dinput)",
51  << "[ input size = " << dinput.numElements()
52  << ", output size = " << this->doutput.numElements() << " ]"
53  << " size of input array != size of output array !");
54  this->apply(dinput, this->doutput);
55  return (this->doutput);
56  }
57 
58  void CFunctor::final(void)
59  {
60  this->nbcall = 0;
61  }
62 
63  //---------------------------------------------------------------
64 
65  } // namespace func
66 } // namespace xios
int nbcall
Propriétés protégées ///.
Definition: functor.hpp:52
virtual void final(void)
Definition: functor.cpp:58
virtual void apply(const CArray< double, 1 > &dinput, CArray< double, 1 > &doutput)=0
Traitement ///.
std::string StdString
Definition: xios_spl.hpp:48
#define xios(arg)
const StdString & getId(void) const
Accesseurs ///.
Definition: object.cpp:26
CFunctor(void)
Constructeurs ///.
CATCH CScalarAlgorithmReduceScalar::CScalarAlgorithmReduceScalar(CScalar *scalarDestination, CScalar *scalarSource, CReduceScalarToScalar *algo ERROR)("CScalarAlgorithmReduceScalar::CScalarAlgorithmReduceScalar(CScalar* scalarDestination, CScalar* scalarSource, CReduceScalarToScalar* algo)",<< "Operation must be defined."<< "Scalar source "<< scalarSource->getId()<< std::endl<< "Scalar destination "<< scalarDestination->getId())
CArray< double, 1 > & doutput
Propriétés privées ///.
Definition: functor.hpp:50
virtual void fromString(const StdString &str)
Definition: functor.cpp:38
////////////////////// Déclarations ////////////////////// ///
Definition: object.hpp:11
virtual ~CFunctor(void)
Destructeur ///.
Definition: functor.cpp:20
CArray< double, 1 > operator()(const CArray< double, 1 > &dinput)
Opérateur ///.
Definition: functor.cpp:46
CArray< double, 1 > getDataOutput(void) const
Accesseurs ///.
Definition: functor.cpp:25
virtual StdString toString(void) const
Autres ///.
Definition: functor.cpp:32