Add headers, clang-format, decompctx.py & more

This commit is contained in:
2022-04-09 20:17:06 -04:00
parent 7f90b8de58
commit 53f8d3cba7
83 changed files with 3919 additions and 2665 deletions

View File

@@ -0,0 +1,46 @@
#ifndef _RSTL_CONSTRUCT_HPP
#define _RSTL_CONSTRUCT_HPP
#include "types.h"
namespace rstl {
template < typename T >
inline void construct(void* dest, const T& src) {
*static_cast< T* >(dest) = src;
}
template < typename T >
inline void destroy(T* in) {
in->~T();
}
template < typename Iter >
inline void destroy(Iter begin, Iter end) {
Iter current = begin;
while (current != end) {
current.destroy();
++current;
}
}
template < typename Iter, typename T >
inline void uninitialized_copy(Iter begin, Iter end, T* in) {
Iter current = begin;
while (current != end) {
current = *in;
++current;
}
}
template < typename T >
inline void uninitialized_copy_n(T* dest, size_t count, T* src) {
for (size_t i = 0; i < count; ++i) {
construct(dest, *src);
destroy(src);
++dest;
++src;
}
}
} // namespace rstl
#endif