pathanimator/c++/algorithm/algorithm.h

29 lines
758 B
C++

/// \file algorithm/algorithm.h
/// \copyright 2022 Sascha Nitsch
/// Licence under MIT license
/// \brief declaration of the Algorithm class
#ifndef ALGORITHM_ALGORITHM_H_
#define ALGORITHM_ALGORITHM_H_
// system includes
#include <inttypes.h>
// own includes
#include "../image.h"
/// namespace for different time generation algorithms
namespace Algorithm {
/// \brief base class for the different time generation algorithms
class Algorithm {
public:
/// \brief destructor
virtual ~Algorithm() {}
/// \brief process images
/// \param input input image
/// \param output output image
/// \return 0 if ok, != 0 on error
virtual int8_t process(Image* input, Image* output) = 0;
};
} // namespace Algorithm
#endif // ALGORITHM_ALGORITHM_H_