ConicBundle
FunctionObjectModification.hxx
Go to the documentation of this file.
1 
2 
3 
4 #ifndef CONICBUNDLE_FUNCTIONOBJECTMODIFICATION_HXX
5 #define CONICBUNDLE_FUNCTIONOBJECTMODIFICATION_HXX
6 
7 
15 #include <map>
16 #include "AFTModification.hxx"
17 
18 namespace ConicBundle {
19 
23 
42 {
43 private:
48 
49 public:
52  AFTModification* in_trafo_aftm=0):
53  oracle_modification(in_oracle_md),trafo_aftmdf(in_trafo_aftm)
54  {}
55 
58  oracle_modification(fom.oracle_modification),trafo_aftmdf(fom.trafo_aftmdf)
59  {}
60 
63  {}
64 
67  {
68  oracle_modification=fom.oracle_modification;
69  trafo_aftmdf=fom.trafo_aftmdf;
70  return *this;
71  }
72 
74  virtual void set_oracle_modification(OracleModification* oracle_mdf)
75  {oracle_modification=oracle_mdf;}
76 
78  virtual void set_aft_modification(AFTModification* in_aftmdf)
79  {trafo_aftmdf=in_aftmdf;}
80 
83  {return trafo_aftmdf;}
84 
86  virtual const AFTModification* get_aft_modification() const
87  {return trafo_aftmdf;}
88 
91  {return oracle_modification;}
92 
95  {return oracle_modification;}
96 
97 };
98 
99 
104 typedef std::map<const FunctionObject*,FunctionObjectModification> FunObjModMap;
105 
106 
107 
109 
110 }
111 
112 #endif
113 
Base class for informing oracles (or the solver) about dynamic changes in the number and sorting of t...
Definition: CBSolver.hxx:544
virtual void set_aft_modification(AFTModification *in_aftmdf)
set an AFTModification for the AffineFunctionTransformation of the argument
Definition: FunctionObjectModification.hxx:78
FunctionObjectModification(const FunctionObjectModification &fom)
copy
Definition: FunctionObjectModification.hxx:57
FunctionObjectModification & operator=(const FunctionObjectModification &fom)
assignment operator (copies the pointers, no new objects)
Definition: FunctionObjectModification.hxx:66
virtual const OracleModification * get_oracle_modification() const
returns the current AFTModification for the const case
Definition: FunctionObjectModification.hxx:94
abstract interface for informing the bundle model routines about changes in the oracle function and...
Definition: FunctionObjectModification.hxx:41
OracleModification * oracle_modification
pointer to a description of modifications of the oracle (and this typically changes the model as well...
Definition: FunctionObjectModification.hxx:45
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
virtual ~FunctionObjectModification()
no deletions are carried out here
Definition: FunctionObjectModification.hxx:62
AFTModification * trafo_aftmdf
pointer to a description of the modifications of the AffineFunctionTransformation of the model (does ...
Definition: FunctionObjectModification.hxx:47
virtual OracleModification * get_oracle_modification()
returns the current AFTModification
Definition: FunctionObjectModification.hxx:90
virtual AFTModification * get_aft_modification()
returns the current AFTModification
Definition: FunctionObjectModification.hxx:82
Header declaring the class ConicBundle::AFTModification.
collects modifications for an AffineFunctionTransformation for the scaling and offset constants as we...
Definition: AFTModification.hxx:31
std::map< const FunctionObject *, FunctionObjectModification > FunObjModMap
In order to pass on problem modifications, FunObjModMap allows to specify a FunctionObjectModificatio...
Definition: FunctionObjectModification.hxx:104
virtual const AFTModification * get_aft_modification() const
returns the current AFTModification for the const case
Definition: FunctionObjectModification.hxx:86
virtual void set_oracle_modification(OracleModification *oracle_mdf)
set an AFTModification for the AffineFunctionTransformation of the argument
Definition: FunctionObjectModification.hxx:74
FunctionObjectModification(OracleModification *in_oracle_md=0, AFTModification *in_trafo_aftm=0)
specifies Modifications for oracle and possibly its AFT
Definition: FunctionObjectModification.hxx:51