00001 #ifndef COMMANDLINEREADER_H
00002 #define COMMANDLINEREADER_H
00003
00004 #include <string>
00005 #include <vector>
00006
00010 class CommandLineReader
00011 {
00012 public:
00013
00018 CommandLineReader( const std::string& p_command_line );
00019
00023 CommandLineReader( void );
00024
00028 virtual ~CommandLineReader(){};
00029
00033 void initialize( void );
00034
00039 void parseLine( const std::string& p_command_line );
00040
00044 const std::string getUsage( void ) const;
00045
00049 const std::string& getOutputFileName( void ) const;
00050
00054 const std::vector<std::string>& getLibraryFileNames( void ) const;
00055
00059 const std::vector<std::string>& getFrozenLibraryNames( void ) const;
00060
00064 float getFractionGoodHitThreshold( void ) const;
00065
00069 int getMaximumIteration( void ) const;
00070
00074 std::string getPropertyAnalysisFileName( void ) const;
00075
00079 std::vector<std::string> getLibraryDefinitionFileName( void ) const;
00080
00084 bool getIsCutWhenZeroGoodness( void ) const;
00085
00089 bool getDoScaleWithSize( void ) const;
00090
00094 float getScaleWithSizeParam( void ) const;
00095
00099 std::string getEnumerationStrategy( void ) const { return m_EnumerationStrategy; }
00100
00104 int getNumberPartition( void ) const { return m_NumberPartition; }
00105
00109 void setFirstFractionToKeep( float p_first_fraction_to_keep );
00110
00114 float getFirstFractionToKeep( void ) const;
00115
00116 protected:
00117 private:
00118
00119
00120 std::string m_OutputFileName;
00121
00122
00123 float m_FractionGoodHitThreshold;
00124
00125
00126 int m_MaximumIteration;
00127
00128
00129 std::vector<std::string> m_LibraryDefinitionFileNames;
00130
00131
00132 bool m_IsCutWhenZeroGoodness;
00133
00134
00135 bool m_DoScaleWithSize;
00136
00137
00138 float m_ScaleWithSizeParam;
00139
00140
00141 std::string m_EnumerationStrategy;
00142
00143
00144 int m_NumberPartition;
00145
00146
00147 float m_FirstFractionToKeep;
00148 };
00149
00150 #endif
00151 A value of 0.75 means that 25% worst fragments from each dimension is thrown after the first iteration
00152 float m_FirstFractionToKeep;
00153 };
00154
00155 #endif