/* * ProcessTimeShifted.hh * * Created on: Dec 12, 2012 * Author: f.casimir */ #ifndef PROCESSTIMESHIFTED_HH_ #define PROCESSTIMESHIFTED_HH_ #include "SingleParamProcess.hh" namespace AMDA { namespace Parameters { /** * @class ProcessTimeShifted * @brief Data shift process. * @details This class represents the process that must shift the data type of an unknown ParamData, of a forwardly or rearwardly time. * To do this it implements the Process interface and delegates the data shift to an output ParamData to a TimeShifted class. * This class is builded from the TimeShiftedCreator visitor. */ class ProcessTimeShifted : public AMDA::Parameters::SingleParamProcess_CRTP { public: /** * @brief Constructor. */ ProcessTimeShifted(Parameter ¶meter); /** * @brief Copy Constructor. */ ProcessTimeShifted(const ProcessTimeShifted& pProcess, Parameter &pParameter) ; /** * @brief Destructor. */ ~ProcessTimeShifted(); // Overload Process methods /** * @overload Process::init() */ TimeStamp init(); }; } /* namespace Parameters */ } /* namespace AMDA */ #endif /* PROCESSTIMESHIFTED_HH_ */