1 #ifndef EXECUTABLE_OBJECT_HPP 2 #define EXECUTABLE_OBJECT_HPP 4 #include "parallel.hpp" 5 #include "input_file.hpp" 18 typedef STD_TR1::shared_ptr< executable_Object > ref;
25 void setup_data(
const std::string& f,
size_t n );
28 void reinitialize_param(
const std::string& param_name)
29 { reinit_param(param_name);};
31 void perform( MPI_Comm comm,
size_t rd );
34 void post_process( MPI_Comm comm,
const std::vector<int>& thread_ids ){
35 thread_ids_=&thread_ids;
36 post_process_(comm);};
39 void perform( MPI_Comm comm,
const std::string& f);
44 const std::string& get_filen()
const {
return filen;};
46 std::string get_id_filen()
const;
47 size_t get_run_id()
const {
return run_id;};
48 size_t get_N()
const {
return N;};
50 int get_thread_id(
int i)
const {
return (*thread_ids_)[i];};
53 const std::vector<int>* thread_ids_;
59 virtual void setup_data_() D_ABSTRACT(setup_data);
61 virtual void reinit_param(
const std::string& param_name) D_ABSTRACT(reinit_param);
62 virtual void perform_(MPI_Comm comm) D_ABSTRACT(perform);
64 virtual void post_process_(MPI_Comm comm) D_ABSTRACT(post_process);
Definition: messages.hpp:15
An abstract base class supporting xml_file_reading of input parameters.
Definition: input_file.hpp:79
Definition: executable.hpp:16