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__;
56using size_t =
unsigned long;
69struct PlacementNew {};
77inline void*
operator new(
size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
78inline void operator delete(
void*,
void*, SC::PlacementNew)
noexcept {}
80inline void*
operator new(
SC::size_t,
void* p, SC::PlacementNew)
noexcept {
return p; }
85template<
typename T,
typename... Q>
void placementNew(T& storage, Q&&... other) {
new (&storage, PlacementNew()) T(forward<Q>(other)...); }
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
unsigned char uint8_t
Platform independent (1) byte unsigned int.
Definition: PrimitiveTypes.h:36
unsigned long long uint64_t
Platform independent (8) bytes unsigned int.
Definition: PrimitiveTypes.h:42
signed char int8_t
Platform independent (1) byte signed int.
Definition: PrimitiveTypes.h:44
long long int64_t
Platform independent (8) bytes signed int.
Definition: PrimitiveTypes.h:50
unsigned long size_t
Platform independent unsigned size type.
Definition: PrimitiveTypes.h:56
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
unsigned short uint16_t
Platform independent (2) bytes unsigned int.
Definition: PrimitiveTypes.h:37
signed long ssize_t
Platform independent signed size type.
Definition: PrimitiveTypes.h:57