You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
507 B

#pragma once
#include <ints.h>
#include <utility>
#include <memory>
/// Superclass of all `MASK` writing task classes
struct Task {
Task();
Task(const Task&) = delete;
Task(Task&&);
virtual ~Task();
private:
struct _impl;
protected:
const std::unique_ptr<_impl> inner;
};
// Create a `Task` subtype for writing the bits in `MASK` to `output_slice`, create an instance of that type. Then return it as a `Task`.
template<u8 MASK>
std::unique_ptr<Task> writing_task_for(u8* output_slice, ... TODO