Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Avril | a75654d7d2 | 4 years ago |
@ -0,0 +1,36 @@
|
||||
#ifndef _INTS_H
|
||||
#define _INTS_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
#define DEF(s, n) typedef s ## int ## n ## _t s ## n
|
||||
#define DEFINT(n) typedef uint ## n ## _t u ## n; \
|
||||
typedef int ## n ## _t i ## n
|
||||
|
||||
DEFINT(8);
|
||||
DEFINT(16);
|
||||
DEFINT(32);
|
||||
DEFINT(64);
|
||||
|
||||
#ifdef __cplusplus
|
||||
#else
|
||||
#include <bool.h>
|
||||
typedef signed __int128 i128;
|
||||
typedef unsigned __int128 u128;
|
||||
#endif
|
||||
typedef float f32;
|
||||
typedef double f64;
|
||||
|
||||
typedef size_t usize;
|
||||
typedef ssize_t isize;
|
||||
|
||||
typedef bool u1;
|
||||
typedef bool i1;
|
||||
|
||||
#undef DEFINT
|
||||
#undef DEF
|
||||
|
||||
#endif /* _INTS_H */
|
@ -0,0 +1,23 @@
|
||||
#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
|
@ -0,0 +1,9 @@
|
||||
#include <sched.hpp>
|
||||
|
||||
struct Task::_impl {
|
||||
|
||||
};
|
||||
|
||||
Task::Task() : inner(std::make_unique<_impl>()){}
|
||||
Task::Task(Task&& mv) : inner(std::move(*const_cast<std::unique_ptr<_impl>*>(&mv.inner))){}
|
||||
Task::~Task() = default;
|
Loading…
Reference in new issue