Zack Buhman c86fcbd6af editor: add example
This adds a simple text editor with basic visual line-editing
capabilities.
2023-06-08 22:50:07 +00:00

45 lines
685 B
C++

#pragma once
#include <stdint.h>
template <typename T>
inline void copy(T * dst, const T * src, int32_t n) noexcept
{
n = n / (sizeof (T));
while (n > 0) {
*dst++ = *src++;
n--;
}
}
template <typename T>
inline void fill(T * dst, const T src, int32_t n) noexcept
{
n = n / (sizeof (T));
while (n > 0) {
*dst++ = src;
n--;
}
}
template <typename T>
inline void move(T * dst, const T * src, int32_t n) noexcept
{
n = n / (sizeof (T));
if (dst < src) {
// d s
// 0123456789
while (n > 0) {
*dst++ = *src++;
n--;
}
} else {
// s d
// 0123456789
while (n) {
n--;
dst[n] = src[n];
}
}
}