xc
ExprFunctor.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // xc utils library; general purpose classes and functions.
4 //
5 // Copyright (C) Luis C. PĂ©rez Tato
6 //
7 // XC utils is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.
19 // If not, see <http://www.gnu.org/licenses/>.
20 //----------------------------------------------------------------------------
21 //ExprFunctor.h
22 
23 #ifndef EXPRFUNCTOR_H
24 #define EXPRFUNCTOR_H
25 
26 class Rama;
27 
29  {
30  public:
31  virtual void operator()(Rama *r) const= 0;
32  inline virtual ~ExprFunctor(void) {}
33  };
34 
35 class FctorBorra : public ExprFunctor
36  {
37  public:
38  virtual void operator()(Rama *r) const;
39  };
40 
41 class FctorOpera : public ExprFunctor
42  {
43  public:
44  virtual void operator()(Rama *r) const;
45  };
46 
48  {
49  public:
50  virtual void operator()(Rama *r) const;
51  };
52 
53 class Operando;
54 class FctorAsigna : public ExprFunctor
55  {
56  Operando *po;
57  const Rama *p;
58  public:
59  FctorAsigna(Operando *pop,const Rama *pr): po(pop),p(pr) {}
60  virtual void operator()(Rama *r) const;
61  };
62 class ConjVariables;
64  {
65  ConjVariables &cvar;
66  public:
67  FctorGetVariables(ConjVariables &cv): cvar(cv) {}
68  virtual void operator()(Rama *r) const;
69  };
70 
71 
72 #endif
73 
74 
75 
76 
Definition: ConjVariables.h:30
Definition: ExprFunctor.h:35
Operando.
Definition: Operando.h:42
Definition: Rama.h:33
Definition: ExprFunctor.h:63
Definition: ExprFunctor.h:54
Definition: ExprFunctor.h:47
Definition: ExprFunctor.h:28
Definition: ExprFunctor.h:41