$treeview $search $mathjax
StdAir Logo  1.00.2
$projectbrief
$projectbrief
$searchbox

stdair/basic/OptimisationMethod.hpp

Go to the documentation of this file.
00001 #ifndef __STDAIR_BAS_OPTIMISATIONMETHOD_HPP
00002 #define __STDAIR_BAS_OPTIMISATIONMETHOD_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // StdAir
00010 #include <stdair/basic/StructAbstract.hpp>
00011 
00012 namespace stdair {
00013 
00015   struct OptimisationMethod : public StructAbstract {
00016   public:
00017     typedef enum {
00018       LEG_BASED_MC = 0,
00019       LEG_BASED_EMSR_B,
00020       LAST_VALUE
00021     } EN_OptimisationMethod;
00022 
00025     static const std::string& getLabel (const EN_OptimisationMethod&);
00026 
00028     static char getMethodLabel (const EN_OptimisationMethod&);
00029 
00031     static std::string getMethodLabelAsString (const EN_OptimisationMethod&);
00032 
00034     static std::string describeLabels();
00035 
00037     EN_OptimisationMethod getMethod() const;
00038 
00040     std::string getMethodAsString() const;
00041     
00044     const std::string describe() const;
00045 
00046   public:
00048     bool operator== (const EN_OptimisationMethod&) const;
00049     
00050   public:
00052     OptimisationMethod (const EN_OptimisationMethod&);
00054     OptimisationMethod (const char iMethod);
00056     OptimisationMethod (const OptimisationMethod&);
00057 
00058   private:
00060     OptimisationMethod();
00061   
00062 
00063   private:
00065     static const std::string _labels[LAST_VALUE];
00067     static const char _methodLabels[LAST_VALUE];
00068 
00069 
00070   private:
00071     // //////// Attributes /////////
00073     EN_OptimisationMethod _method;
00074   };
00075 
00076 }
00077 #endif // __STDAIR_BAS_OPTIMISATIONMETHOD_HPP