SimpleUnivariateAdapter.h

00001 
00012 #ifndef _SimpleUnivariateAdapter_h
00013 #define _SimpleUnivariateAdapter_h
00014 
00015 
00016 // SYSTEM INCLUDES
00017 //
00018 
00019 // PROJECT INCLUDES
00020 //
00021 
00022 // LOCAL INCLUDES
00023 //
00024 #include "CountedPtr.h"
00025 #include "UnivariateFunction.h"
00026 
00027 // FORWARD REFERENCES
00028 //
00029 
00030 
00031 class SimpleUnivariateAdapter
00032     : public UnivariateFunction
00033 {
00034 public:
00035 // LIFECYCLE
00036 
00042 //    SimpleUnivariateAdapter(CountedPtr<const FunctionBase> function);
00043     SimpleUnivariateAdapter(auto_ptr<FunctionBase> function);
00044 
00047     virtual ~SimpleUnivariateAdapter(void);
00048 
00049 
00050 // OPERATORS
00051 
00052 // OPERATIONS
00053 
00054     virtual std::auto_ptr<FunctionBase> Clone() const;
00055 
00056 // ACCESS
00057 
00060     const FunctionBase& InnerFunction() const;
00061 
00066     FunctionBase&       rInnerFunction();
00067 
00070     unsigned            EvaluationCount() const;
00071 
00074     virtual wxString    ToString(bool full = true) const;
00075 
00078     virtual VariableNames   PresentVariables() const;
00079 
00080 // INQUIRY
00081 
00082 //    /** Sprawdza, czy funkcja jest różniczkowalna.
00083 //     */
00084 //    virtual bool        IsDifferentiable() const;
00085 
00088     virtual bool        ContainsUnknown(const VariableNames& variables) const;
00089 
00090 protected:
00091     SimpleUnivariateAdapter(const SimpleUnivariateAdapter& from);
00092 
00095     virtual double      DoEvaluateNoThrow(const ColumnVector& point) const
00096                                                     throw();
00097 
00098     virtual double      DoEvaluate(const ColumnVector& point) const
00099                                                     throw(EvaluationError);
00100 
00101 //    CountedPtr<const FunctionBase>  mcpFunction;   ///< Funkcja podstawowa
00102     std::auto_ptr<FunctionBase>  mapFunction;   
00103 
00104 
00105 private:
00106 };
00107 
00108 // INLINE METHODS
00109 //
00110 
00111 // EXTERNAL REFERENCES
00112 //
00113 
00114 #endif  // _SimpleUnivariateAdapter_h

Wygenerowano Fri Sep 29 21:04:48 2006 dla EduOptim2 programem  doxygen 1.4.6