1 #ifndef teca_algorithm_executive_h
2 #define teca_algorithm_executive_h
4 #include "teca_metadata.h"
15 #define TECA_ALGORITHM_EXECUTIVE_STATIC_NEW(T) \
21 return p_##T(new T); \
24 std::shared_ptr<T> shared_from_this() \
26 return std::static_pointer_cast<T>( \
27 teca_algorithm_executive::shared_from_this()); \
30 std::shared_ptr<T const> shared_from_this() const \
32 return std::static_pointer_cast<T const>( \
33 teca_algorithm_executive::shared_from_this()); \
56 :
public std::enable_shared_from_this<teca_algorithm_executive>
59 static p_teca_algorithm_executive New()
67 virtual int initialize(MPI_Comm comm,
const teca_metadata &md);
74 void set_verbose(
int a_verbose) { this->verbose = a_verbose; }
75 int get_verbose()
const {
return this->verbose; }