initial upload

This commit is contained in:
2026-02-26 12:09:40 -06:00
parent 102beb1f6f
commit 8f208f436c
16 changed files with 1183 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
#pragma once
#include <ckitty/memory/primitives.hpp>
namespace ckitty {
/**
* @brief Represents a piece of a shared buffer that
* is not owned by this object.
*/
class data_view {
private:
const u8* _begin;
const u8* _end;
public:
data_view(const u8* begin, const u8* end)
: _begin(begin), _end(end) {}
data_view(const u8* data, const size length)
: _begin(data), _end(data + length) {}
data_view(const std::string& str)
: _begin((const u8*) str.begin().base()),
_end((const u8*) str.end().base()) {}
const u8* begin() const {
return _begin;
}
const u8* end() const {
return _end;
}
u8 operator[](size i) const {
return *(_begin + i);
}
size length() const {
return _end - _begin;
}
const data_view sub_off(size offset, size length) const {
return data_view(_begin + offset, _begin + offset + length);
}
const data_view sub_abs(size begin, size end) const {
return data_view(_begin + begin, _begin + end);
}
};
}