algorithm_definition.h

Go to the documentation of this file.
00001 //--------------------------------------------------
00008 //---------------------------------------------------
00009 
00010 #ifndef IMEDGINE_ALGORITHM_DEFINITION_H_
00011 #define IMEDGINE_ALGORITHM_DEFINITION_H_
00012 
00013 #include <boost/shared_ptr.hpp>
00014 #include <string>
00015 #include <vector>
00016 #include <set>
00017 #include "dataset_definition.h"
00018 
00019 namespace imedgine 
00020 {
00021   //---------------------------------------------------
00073   //---------------------------------------------------
00074   
00075   class AlgorithmDefinition
00076   {
00077   public:
00078 
00079     //---------------------------------------------------
00082 
00083     typedef boost::shared_ptr<DatasetDefinition> dataset_definition_pointer_type;
00084 
00085     //---------------------------------------------------
00088     
00089     typedef std::map<std::string, dataset_definition_pointer_type> dataset_definition_collection_type;
00090 
00091     //---------------------------------------------------
00094     
00095     typedef std::set<dataset_type> accepted_datasets_type;
00096 
00097     //---------------------------------------------------
00100     
00101     typedef std::map<std::string, accepted_datasets_type> accepted_datasets_collection_type; 
00102 
00103     //---------------------------------------------------
00106     
00107     typedef std::vector<accepted_datasets_collection_type> combinations_definition_list_type;
00108     
00109     //---------------------------------------------------
00113     
00114     typedef std::map<std::string, dataset_type> already_set_datasets_type;
00115     
00116     //---------------------------------------------------
00119     
00120     AlgorithmDefinition();
00121 
00122     //---------------------------------------------------
00125     
00126     ~AlgorithmDefinition(); 
00127     
00128     //---------------------------------------------------
00132     
00133     void setName(std::string name);
00134     
00135     //---------------------------------------------------
00139     
00140     void setClassification(std::string classification);
00141     
00142     //---------------------------------------------------
00146     
00147     void setLibraryName(std::string library_name);
00148     
00149     //---------------------------------------------------
00153     
00154     
00155     void addDatasetCombination(accepted_datasets_collection_type accepted_datasets);
00156 
00157     //---------------------------------------------------
00161     
00162     void setDatasetCombinations(combinations_definition_list_type combinations);
00163     
00164     //---------------------------------------------------
00168     
00169     std::string getName();
00170     
00171     //---------------------------------------------------
00175     
00176     std::string getClassification();
00177     
00178     //---------------------------------------------------
00182     
00183     std::string getLibraryName();
00184     
00185     //---------------------------------------------------
00189     
00190     combinations_definition_list_type getDatasetCombinations();
00191 
00192     //---------------------------------------------------
00195 
00196     void addInputDataset(dataset_definition_pointer_type dataset);
00197 
00198     //---------------------------------------------------
00201 
00202     void addOutputDataset(dataset_definition_pointer_type dataset);
00203 
00204     //---------------------------------------------------
00207 
00208     dataset_definition_pointer_type getInputDataset(std::string name);
00209 
00210     //---------------------------------------------------
00213 
00214     dataset_definition_collection_type getInputDatasets();
00215 
00216     //---------------------------------------------------
00219 
00220     dataset_definition_collection_type getOutputDatasets();
00221 
00222     //---------------------------------------------------
00225 
00226     accepted_datasets_type getPossibleCombinations(std::string name, already_set_datasets_type already_set_datasets);
00227 
00228     //---------------------------------------------------
00231 
00232     void setOutputDatasetIds(config_dataset_id_to_output_map_type &dataset_id_map);
00233 
00234     //---------------------------------------------------
00237 
00238     std::string toString(); 
00239   private:
00240     std::string name_;
00241     std::string classification_;
00242     std::string library_name_;
00243     
00244     dataset_definition_collection_type input_datasets_;
00245     dataset_definition_collection_type output_datasets_;
00246     combinations_definition_list_type dataset_combinations_;
00247   };
00248 }
00249 
00250 #endif // IMEDGINE_ALGORITHM_DEFINITION_
00251 

Generated on Sun Aug 13 18:19:37 2006 for iMEDgine by  doxygen 1.4.6