UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_crt_overrides.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#ifndef SYMS_CRT_DEFAULT_OVERRIDES_H
4#define SYMS_CRT_DEFAULT_OVERRIDES_H
5
6#if !defined(SYMS_OVERRIDE_FUNC)
7# define SYMS_OVERRIDE_FUNC
8#endif
9
10// NOTE(allen): basic types
11
12#ifdef _MSC_VER
13
14typedef __int8 SYMS_S8;
15typedef __int16 SYMS_S16;
16typedef __int32 SYMS_S32;
17typedef __int64 SYMS_S64;
18typedef unsigned __int8 SYMS_U8;
19typedef unsigned __int16 SYMS_U16;
20typedef unsigned __int32 SYMS_U32;
21typedef unsigned __int64 SYMS_U64;
22
23#define SYMS_PRIu64 "I64u"
24#define SYMS_PRId64 "I64d"
25#define SYMS_PRIx64 "I64x"
26
27#else
28
29#include <stdint.h>
30#include <inttypes.h>
31
40
41#define SYMS_PRIu64 PRIu64
42#define SYMS_PRId64 PRId64
43#define SYMS_PRIx64 PRIx64
44
45#endif
46
47#define SYMS_S8 SYMS_S8
48#define SYMS_S16 SYMS_S16
49#define SYMS_S32 SYMS_S32
50#define SYMS_S64 SYMS_S64
51#define SYMS_U8 SYMS_U8
52#define SYMS_U16 SYMS_U16
53#define SYMS_U32 SYMS_U32
54#define SYMS_U64 SYMS_U64
55
56// NOTE(allen): asserts
57#include <assert.h>
58#define SYMS_ASSERT_BREAK(m) assert(!(#m))
59
61//~ allen: memory helpers
62#include <stdlib.h>
63#include <string.h>
64
65#define syms_memmove memmove
66#define syms_memset memset
67#define syms_memcmp memcmp
68#define syms_strlen strlen
69#define syms_memisnull(ptr,sz) (memchr(ptr,0,sz)!=NULL)
70
72//~ allen: memory
73#define syms_mem_reserve(s) malloc(s)
74#define syms_mem_commit(p,s) (1)
75#define syms_mem_decommit(p,s) ((void)0)
76#define syms_mem_release(p,s) free(p)
77
78// @notes Since we are relying on malloc & free, and not using commit/decommit,
79// we want a smaller reserve chunk size than the default, because malloc
80// automatically reserves and commits everything it allocates. And wasting too
81// much commit isn't very great. We also want to set the commit size equal to
82// the reserve size to avoid wasting time on commit logic that won't matter.
83#define SYMS_ARENA_RESERVE_SIZE (1 << 20)
84#define SYMS_ARENA_COMMIT_SIZE (1 << 20)
85
87//~ allen: use default arena
88#include "syms_default_arena.h"
89
91//~ allen: use default scrtach
93
94#endif // SYMS_CRT_DEFAULT_OVERRIDES_H
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SYMS_S8
Definition syms_crt_overrides.h:47
#define SYMS_U8
Definition syms_crt_overrides.h:51
#define SYMS_U16
Definition syms_crt_overrides.h:52
#define SYMS_U64
Definition syms_crt_overrides.h:54
#define SYMS_U32
Definition syms_crt_overrides.h:53
#define SYMS_S32
Definition syms_crt_overrides.h:49
#define SYMS_S64
Definition syms_crt_overrides.h:50
#define SYMS_S16
Definition syms_crt_overrides.h:48