UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VarArgs.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
CoreTypes.h
"
6
7
/*-----------------------------------------------------------------------------
8
VarArgs helper macros.
9
-----------------------------------------------------------------------------*/
10
11
// phantom definitions to help VAX parse our VARARG_* macros (VAX build 1440)
12
#ifdef VISUAL_ASSIST_HACK
13
#define VARARG_DECL( FuncRet, StaticFuncRet, Return, FuncName, Pure, FmtType, ExtraDecl, ExtraCall ) FuncRet FuncName( ExtraDecl FmtType Fmt, ... )
14
#define VARARG_BODY( FuncRet, FuncName, FmtType, ExtraDecl ) FuncRet FuncName( ExtraDecl FmtType Fmt, ... )
15
#endif
// VISUAL_ASSIST_HACK
16
17
#define GET_TYPED_VARARGS(CharType, msg, msgsize, len, lastarg, fmt) \
18
{ \
19
va_list ap; \
20
va_start(ap, lastarg); \
21
TCString<CharType>::GetVarArgs(msg, msgsize, fmt, ap); \
22
va_end(ap); \
23
}
24
25
#define GET_VARARGS( msg, msgsize, len, lastarg, fmt) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS(...) has been deprecated - please use GET_TYPED_VARARGS(TCHAR, ...) instead") GET_TYPED_VARARGS(TCHAR, msg, msgsize, len, lastarg, fmt)
26
#define GET_VARARGS_WIDE(msg, msgsize, len, lastarg, fmt) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS_WIDE(...) has been deprecated - please use GET_TYPED_VARARGS(WIDECHAR, ...) instead") GET_TYPED_VARARGS(WIDECHAR, msg, msgsize, len, lastarg, fmt)
27
#define GET_VARARGS_ANSI(msg, msgsize, len, lastarg, fmt) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS_ANSI(...) has been deprecated - please use GET_TYPED_VARARGS(ANSICHAR, ...) instead") GET_TYPED_VARARGS(ANSICHAR, msg, msgsize, len, lastarg, fmt)
28
29
#define GET_TYPED_VARARGS_RESULT(CharType, msg, msgsize, len, lastarg, fmt, result) \
30
{ \
31
va_list ap; \
32
va_start(ap, lastarg); \
33
result = TCString<CharType>::GetVarArgs(msg, msgsize, fmt, ap); \
34
if (result >= msgsize) \
35
{ \
36
result = -1; \
37
} \
38
va_end(ap); \
39
}
40
41
#define GET_VARARGS_RESULT( msg, msgsize, len, lastarg, fmt, result) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS(...) has been deprecated - please use GET_TYPED_VARARGS(TCHAR, ...) instead") GET_TYPED_VARARGS_RESULT(TCHAR, msg, msgsize, len, lastarg, fmt, result)
42
#define GET_VARARGS_RESULT_WIDE(msg, msgsize, len, lastarg, fmt, result) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS_RESULT_WIDE(...) has been deprecated - please use GET_TYPED_VARARGS(WIDECHAR, ...) instead") GET_TYPED_VARARGS_RESULT(WIDECHAR, msg, msgsize, len, lastarg, fmt, result)
43
#define GET_VARARGS_RESULT_ANSI(msg, msgsize, len, lastarg, fmt, result) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS_RESULT_ANSI(...) has been deprecated - please use GET_TYPED_VARARGS(ANSICHAR, ...) instead") GET_TYPED_VARARGS_RESULT(ANSICHAR, msg, msgsize, len, lastarg, fmt, result)
44
#define GET_VARARGS_RESULT_UTF8(msg, msgsize, len, lastarg, fmt, result) UE_DEPRECATED_MACRO(5.4, "GET_VARARGS_RESULT_UTF8(...) has been deprecated - please use GET_TYPED_VARARGS(UTF8CHAR, ...) instead") GET_TYPED_VARARGS_RESULT(UTF8CHAR, msg, msgsize, len, lastarg, fmt, result)
45
46
/*-----------------------------------------------------------------------------
47
Ugly VarArgs type checking (debug builds only).
48
-----------------------------------------------------------------------------*/
49
50
#define VARARG_EXTRA(...) __VA_ARGS__,
51
#define VARARG_NONE
52
#define VARARG_PURE =0
CoreTypes.h
Engine
Source
Runtime
Core
Public
Misc
VarArgs.h
Generated by
1.9.8