4#include "../Foundation/Compiler.h"
5#include "../Foundation/Platform.h"
12#if SC_PLATFORM_WINDOWS
26using size_t =
unsigned __int64;
30using size_t =
unsigned int;
52#if SC_PLATFORM_EMSCRIPTEN
53using size_t =
unsigned __PTRDIFF_TYPE__;
54using ssize_t =
signed __PTRDIFF_TYPE__;
69struct PlacementNew {};
77inline void*
operator new(
size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
78inline void*
operator new[](
size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
79inline void operator delete(
void*,
void*, SC::PlacementNew)
noexcept {}
81inline void*
operator new(
SC::size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
82inline void*
operator new[](
SC::size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
87template<
typename T,
typename... Q>
void placementNew(T& storage, Q&&... other) {
new (&storage, PlacementNew()) T(
forward<Q>(other)...); }
88template<
typename T>
void placementNewArray(T* storage,
size_t size) {
new (storage, PlacementNew()) T[size]; }
89template<
typename T>
void dtor(T& t){ t.~T(); }
unsigned short uint16_t
Platform independent (2) bytes unsigned int.
Definition PrimitiveTypes.h:37
constexpr T && forward(typename TypeTraits::RemoveReference< T >::type &value)
Forwards an lvalue or an rvalue as an rvalue reference.
Definition Compiler.h:272
unsigned char uint8_t
Platform independent (1) byte unsigned int.
Definition PrimitiveTypes.h:36
unsigned long size_t
Platform independent unsigned size type.
Definition PrimitiveTypes.h:56
unsigned long long uint64_t
Platform independent (8) bytes unsigned int.
Definition PrimitiveTypes.h:42
unsigned int uint32_t
Platform independent (4) bytes unsigned int.
Definition PrimitiveTypes.h:38
short int16_t
Platform independent (2) bytes signed int.
Definition PrimitiveTypes.h:45
long long int64_t
Platform independent (8) bytes signed int.
Definition PrimitiveTypes.h:50
signed char int8_t
Platform independent (1) byte signed int.
Definition PrimitiveTypes.h:44
signed long ssize_t
Platform independent signed size type.
Definition PrimitiveTypes.h:57
int int32_t
Platform independent (4) bytes signed int.
Definition PrimitiveTypes.h:46
char native_char_t
The native char for the platform (wchar_t (4 bytes) on Windows, char (1 byte) everywhere else )
Definition PrimitiveTypes.h:34