FrameProvider.hpp 498 Bytes
#pragma once

class FrameProvider {
  public:
	FrameProvider() = default;
	FrameProvider(const FrameProvider &) = default;
	FrameProvider(FrameProvider &&) noexcept = default;
	FrameProvider &operator=(FrameProvider &&) noexcept = default;
	FrameProvider &operator=(const FrameProvider &) = default;

	virtual unsigned long next(void *buffer) = 0;

	virtual bool hasNext() const = 0;

	virtual size_t rows() const = 0;

	virtual size_t columns() const = 0;

	virtual ~FrameProvider() = default;
};