UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
rrCore.h File Reference
#include "egttypes.h"
#include <stddef.h>

Go to the source code of this file.

Macros

#define RAD_PTRBITS   32
 
#define RAD_PTRBYTES   4
 
#define RAD_TWOPTRBYTES   8
 
#define RAD_UINTr   RAD_U32
 
#define RAD_SINTr   RAD_S32
 
#define RRSTRIPPABLE   static
 
#define RRSTRIPPABLEPUB
 
#define RADASSUME(exp)   !! no RADASSUME defined !!
 
#define RADFORCEINLINE   !! no RADFORCEINLINE defined !!
 
#define RAD_USE_STANDARD_LOOP_CONSTRUCT
 
#define RAD_STATEMENT_START    do {
 
#define RAD_STATEMENT_END_FALSE    } while ( (void)0,0 )
 
#define RAD_STATEMENT_END_TRUE    } while ( (void)1,1 )
 
#define RAD_STATEMENT_WRAPPER(code)
 
#define RAD_INFINITE_LOOP(code)
 
#define RR_UNUSED_VARIABLE(x)   (void)(sizeof(x))
 
#define RR_STRINGIZE(L)   #L
 
#define RR_DO_MACRO(M, X)   M(X)
 
#define RR_STRINGIZE_DELAY(X)   RR_DO_MACRO( RR_STRINGIZE, X )
 
#define RR_LINESTRING   RR_STRINGIZE_DELAY( __LINE__ )
 
#define RR_CAT(X, Y)   X ## Y
 
#define RR_STRING_JOIN3(arg1, arg2, arg3)   RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)
 
#define RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)   RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)
 
#define RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)   arg1 ## arg2 ## arg3
 
#define RR_MIN(a, b)   ( (a) < (b) ? (a) : (b) )
 
#define RR_MAX(a, b)   ( (a) > (b) ? (a) : (b) )
 
#define RR_ABS(a)   ( ((a) < 0) ? -(a) : (a) )
 
#define RR_CLAMP(val, lo, hi)   RR_MAX( RR_MIN(val,hi), lo )
 
#define RR_ARRAY_SIZE(array)   ( sizeof(array)/sizeof(array[0]) )
 
#define RR_MEMBER_OFFSET(type, member)   offsetof(type, member)
 
#define RR_MEMBER_SIZE(type, member)   ( sizeof( ((type *) 0)->member) )
 
#define RR_MEMBER_OFFSET_PTR(type, member, ptr)   ( (SINTa) &(((type *)(ptr))->member) - (SINTa)(ptr) )
 
#define RR_MEMBER_SIZE_PTR(type, member, ptr)   ( sizeof( ((type *) (ptr))->member) )
 
#define RR_MEMBER_TO_OWNER(type, member, ptr)   (type *)( ((char *)(ptr)) - RR_MEMBER_OFFSET_PTR(type,member,ptr) )
 
#define RR_PREFETCH_SEQUENTIAL(ptr, offset)   !! NO PREFETCH DEFINED !!
 
#define RR_PREFETCH_WRITE_INVALIDATE(ptr, offset)   !! NO PREFETCH DEFINED !!
 
#define RR_ASSERT(exp)   (void)0
 
#define rrAssert   RR_ASSERT
 
#define rrassert   RR_ASSERT
 
#define RR_GET_PTR_POST
 
#define RR_GET16_NATIVE(ptr)   *((const U16 * RR_GET_PTR_POST)(ptr))
 
#define RR_PUT16_NATIVE(ptr, val)   *((U16 * RR_GET_PTR_POST)(ptr)) = (U16)(val)
 
#define RR_U16_PTR_OFFSET(ptr, offset)   ((U16 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))
 
#define RR_GET16_NATIVE_OFFSET(ptr, offset)   *( RR_U16_PTR_OFFSET((ptr),offset) )
 
#define RR_PUT16_NATIVE_OFFSET(ptr, val, offset)   *( RR_U16_PTR_OFFSET((ptr),offset)) = (val)
 
#define RR_GET32_NATIVE(ptr)   *((const U32 * RR_GET_PTR_POST)(ptr))
 
#define RR_PUT32_NATIVE(ptr, val)   *((U32 * RR_GET_PTR_POST)(ptr)) = (val)
 
#define RR_U32_PTR_OFFSET(ptr, offset)   ((U32 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))
 
#define RR_GET32_NATIVE_OFFSET(ptr, offset)   *( RR_U32_PTR_OFFSET((ptr),offset) )
 
#define RR_PUT32_NATIVE_OFFSET(ptr, val, offset)   *( RR_U32_PTR_OFFSET((ptr),offset)) = (val)
 
#define RR_GET64_NATIVE(ptr)   *((const U64 * RR_GET_PTR_POST)(ptr))
 
#define RR_PUT64_NATIVE(ptr, val)   *((U64 * RR_GET_PTR_POST)(ptr)) = (val)
 
#define RR_U64_PTR_OFFSET(ptr, offset)   ((U64 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))
 
#define RR_GET64_NATIVE_OFFSET(ptr, offset)   *( RR_U64_PTR_OFFSET((ptr),offset) )
 
#define RR_PUT64_NATIVE_OFFSET(ptr, val, offset)   *( RR_U64_PTR_OFFSET((ptr),offset)) = (val)
 
#define RR_GET16_BE   RR_GET16_NATIVE
 
#define RR_PUT16_BE   RR_PUT16_NATIVE
 
#define RR_GET16_BE_OFFSET   RR_GET16_NATIVE_OFFSET
 
#define RR_PUT16_BE_OFFSET   RR_PUT16_NATIVE_OFFSET
 
#define RR_GET32_BE   RR_GET32_NATIVE
 
#define RR_PUT32_BE   RR_PUT32_NATIVE
 
#define RR_GET32_BE_OFFSET   RR_GET32_NATIVE_OFFSET
 
#define RR_PUT32_BE_OFFSET   RR_PUT32_NATIVE_OFFSET
 
#define RR_GET64_BE   RR_GET64_NATIVE
 
#define RR_PUT64_BE   RR_PUT64_NATIVE
 
#define RR_GET64_BE_OFFSET   RR_GET64_NATIVE_OFFSET
 
#define RR_PUT64_BE_OFFSET   RR_PUT64_NATIVE_OFFSET
 
#define RR_GET32_BE_UNALIGNED(ptr)
 
#define RR_GET32_BE_UNALIGNED_OFFSET(ptr, offset)
 
#define RR_GET16_BE_UNALIGNED(ptr)
 
#define RR_GET16_BE_UNALIGNED_OFFSET(ptr, offset)
 
#define RR_GET32_LE_UNALIGNED(ptr)
 
#define RR_GET32_LE_UNALIGNED_OFFSET(ptr, offset)
 
#define RR_GET16_LE_UNALIGNED(ptr)
 
#define RR_GET16_LE_UNALIGNED_OFFSET(ptr, offset)
 
#define RR_ROTL32(u32v, num)   ( ( (u32v) << (num) ) | ( (u32v) >> (32 - (num))) )
 
#define RR_ROTL64(u64v, num)   ( ( (u64v) << (num) ) | ( (u64v) >> (64 - (num))) )
 
#define UINTn   UINTa
 
#define RADDEFINEDATA
 
#define RADDECLAREDATA   extern
 
#define RR_NAMESPACE
 
#define RR_NAMESPACE_START
 
#define RR_NAMESPACE_END
 
#define RR_NAMESPACE_USE
 

Functions

 RR_COMPILER_ASSERT (sizeof(RAD_UINTa)==sizeof(RR_STRING_JOIN(RAD_U, RAD_PTRBITS)))
 
 RR_COMPILER_ASSERT (RAD_TWOPTRBYTES==2 *RAD_PTRBYTES)
 
 RR_COMPILER_ASSERT (sizeof(rrbool)==4)
 

Macro Definition Documentation

◆ RAD_INFINITE_LOOP

#define RAD_INFINITE_LOOP (   code)
Value:
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127

◆ RAD_PTRBITS

#define RAD_PTRBITS   32

◆ RAD_PTRBYTES

#define RAD_PTRBYTES   4

◆ RAD_SINTr

#define RAD_SINTr   RAD_S32

◆ RAD_STATEMENT_END_FALSE

#define RAD_STATEMENT_END_FALSE    } while ( (void)0,0 )

◆ RAD_STATEMENT_END_TRUE

#define RAD_STATEMENT_END_TRUE    } while ( (void)1,1 )

◆ RAD_STATEMENT_START

#define RAD_STATEMENT_START    do {

◆ RAD_STATEMENT_WRAPPER

#define RAD_STATEMENT_WRAPPER (   code)

◆ RAD_TWOPTRBYTES

#define RAD_TWOPTRBYTES   8

◆ RAD_UINTr

#define RAD_UINTr   RAD_U32

◆ RAD_USE_STANDARD_LOOP_CONSTRUCT

#define RAD_USE_STANDARD_LOOP_CONSTRUCT

◆ RADASSUME

#define RADASSUME (   exp)    !! no RADASSUME defined !!

◆ RADDECLAREDATA

#define RADDECLAREDATA   extern

◆ RADDEFINEDATA

#define RADDEFINEDATA

◆ RADFORCEINLINE

#define RADFORCEINLINE   !! no RADFORCEINLINE defined !!

◆ RR_ABS

#define RR_ABS (   a)    ( ((a) < 0) ? -(a) : (a) )

◆ RR_ARRAY_SIZE

#define RR_ARRAY_SIZE (   array)    ( sizeof(array)/sizeof(array[0]) )

◆ RR_ASSERT

#define RR_ASSERT (   exp)    (void)0

◆ RR_CAT

#define RR_CAT (   X,
  Y 
)    X ## Y

◆ RR_CLAMP

#define RR_CLAMP (   val,
  lo,
  hi 
)    RR_MAX( RR_MIN(val,hi), lo )

◆ RR_DO_MACRO

#define RR_DO_MACRO (   M,
  X 
)    M(X)

◆ RR_GET16_BE

#define RR_GET16_BE   RR_GET16_NATIVE

◆ RR_GET16_BE_OFFSET

#define RR_GET16_BE_OFFSET   RR_GET16_NATIVE_OFFSET

◆ RR_GET16_BE_UNALIGNED

#define RR_GET16_BE_UNALIGNED (   ptr)
Value:
( \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr)))[0] << 8 ) | \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr)))[1] << 0 ) )
RAD_U8 U8
Definition egttypes.h:481
RAD_U16 U16
Definition egttypes.h:491
#define RR_GET_PTR_POST
Definition rrCore.h:373

◆ RR_GET16_BE_UNALIGNED_OFFSET

#define RR_GET16_BE_UNALIGNED_OFFSET (   ptr,
  offset 
)
Value:
( \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[0] << 8 ) | \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[1] << 0 ) )

◆ RR_GET16_LE_UNALIGNED

#define RR_GET16_LE_UNALIGNED (   ptr)
Value:
( \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr)))[1] << 8 ) | \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr)))[0] << 0 ) )

◆ RR_GET16_LE_UNALIGNED_OFFSET

#define RR_GET16_LE_UNALIGNED_OFFSET (   ptr,
  offset 
)
Value:
( \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[1] << 8 ) | \
( (U16)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[0] << 0 ) )

◆ RR_GET16_NATIVE

#define RR_GET16_NATIVE (   ptr)    *((const U16 * RR_GET_PTR_POST)(ptr))

◆ RR_GET16_NATIVE_OFFSET

#define RR_GET16_NATIVE_OFFSET (   ptr,
  offset 
)    *( RR_U16_PTR_OFFSET((ptr),offset) )

◆ RR_GET32_BE

#define RR_GET32_BE   RR_GET32_NATIVE

◆ RR_GET32_BE_OFFSET

#define RR_GET32_BE_OFFSET   RR_GET32_NATIVE_OFFSET

◆ RR_GET32_BE_UNALIGNED

#define RR_GET32_BE_UNALIGNED (   ptr)
Value:
( \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[0] << 24 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[1] << 16 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[2] << 8 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[3] << 0 ) )
RAD_U32 U32
Definition egttypes.h:501

◆ RR_GET32_BE_UNALIGNED_OFFSET

#define RR_GET32_BE_UNALIGNED_OFFSET (   ptr,
  offset 
)
Value:
( \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[0] << 24 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[1] << 16 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[2] << 8 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[3] << 0 ) )

◆ RR_GET32_LE_UNALIGNED

#define RR_GET32_LE_UNALIGNED (   ptr)
Value:
( \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[3] << 24 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[2] << 16 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[1] << 8 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr)))[0] << 0 ) )

◆ RR_GET32_LE_UNALIGNED_OFFSET

#define RR_GET32_LE_UNALIGNED_OFFSET (   ptr,
  offset 
)
Value:
( \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[3] << 24 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[2] << 16 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[1] << 8 ) | \
( (U32)(((const U8 * RR_GET_PTR_POST)(ptr))+(offset))[0] << 0 ) )

◆ RR_GET32_NATIVE

#define RR_GET32_NATIVE (   ptr)    *((const U32 * RR_GET_PTR_POST)(ptr))

◆ RR_GET32_NATIVE_OFFSET

#define RR_GET32_NATIVE_OFFSET (   ptr,
  offset 
)    *( RR_U32_PTR_OFFSET((ptr),offset) )

◆ RR_GET64_BE

#define RR_GET64_BE   RR_GET64_NATIVE

◆ RR_GET64_BE_OFFSET

#define RR_GET64_BE_OFFSET   RR_GET64_NATIVE_OFFSET

◆ RR_GET64_NATIVE

#define RR_GET64_NATIVE (   ptr)    *((const U64 * RR_GET_PTR_POST)(ptr))

◆ RR_GET64_NATIVE_OFFSET

#define RR_GET64_NATIVE_OFFSET (   ptr,
  offset 
)    *( RR_U64_PTR_OFFSET((ptr),offset) )

◆ RR_GET_PTR_POST

#define RR_GET_PTR_POST

◆ RR_LINESTRING

#define RR_LINESTRING   RR_STRINGIZE_DELAY( __LINE__ )

◆ RR_MAX

#define RR_MAX (   a,
 
)    ( (a) > (b) ? (a) : (b) )

◆ RR_MEMBER_OFFSET

#define RR_MEMBER_OFFSET (   type,
  member 
)    offsetof(type, member)

◆ RR_MEMBER_OFFSET_PTR

#define RR_MEMBER_OFFSET_PTR (   type,
  member,
  ptr 
)    ( (SINTa) &(((type *)(ptr))->member) - (SINTa)(ptr) )

◆ RR_MEMBER_SIZE

#define RR_MEMBER_SIZE (   type,
  member 
)    ( sizeof( ((type *) 0)->member) )

◆ RR_MEMBER_SIZE_PTR

#define RR_MEMBER_SIZE_PTR (   type,
  member,
  ptr 
)    ( sizeof( ((type *) (ptr))->member) )

◆ RR_MEMBER_TO_OWNER

#define RR_MEMBER_TO_OWNER (   type,
  member,
  ptr 
)    (type *)( ((char *)(ptr)) - RR_MEMBER_OFFSET_PTR(type,member,ptr) )

◆ RR_MIN

#define RR_MIN (   a,
 
)    ( (a) < (b) ? (a) : (b) )

◆ RR_NAMESPACE

#define RR_NAMESPACE

◆ RR_NAMESPACE_END

#define RR_NAMESPACE_END

◆ RR_NAMESPACE_START

#define RR_NAMESPACE_START

◆ RR_NAMESPACE_USE

#define RR_NAMESPACE_USE

◆ RR_PREFETCH_SEQUENTIAL

#define RR_PREFETCH_SEQUENTIAL (   ptr,
  offset 
)    !! NO PREFETCH DEFINED !!

◆ RR_PREFETCH_WRITE_INVALIDATE

#define RR_PREFETCH_WRITE_INVALIDATE (   ptr,
  offset 
)    !! NO PREFETCH DEFINED !!

◆ RR_PUT16_BE

#define RR_PUT16_BE   RR_PUT16_NATIVE

◆ RR_PUT16_BE_OFFSET

#define RR_PUT16_BE_OFFSET   RR_PUT16_NATIVE_OFFSET

◆ RR_PUT16_NATIVE

#define RR_PUT16_NATIVE (   ptr,
  val 
)    *((U16 * RR_GET_PTR_POST)(ptr)) = (U16)(val)

◆ RR_PUT16_NATIVE_OFFSET

#define RR_PUT16_NATIVE_OFFSET (   ptr,
  val,
  offset 
)    *( RR_U16_PTR_OFFSET((ptr),offset)) = (val)

◆ RR_PUT32_BE

#define RR_PUT32_BE   RR_PUT32_NATIVE

◆ RR_PUT32_BE_OFFSET

#define RR_PUT32_BE_OFFSET   RR_PUT32_NATIVE_OFFSET

◆ RR_PUT32_NATIVE

#define RR_PUT32_NATIVE (   ptr,
  val 
)    *((U32 * RR_GET_PTR_POST)(ptr)) = (val)

◆ RR_PUT32_NATIVE_OFFSET

#define RR_PUT32_NATIVE_OFFSET (   ptr,
  val,
  offset 
)    *( RR_U32_PTR_OFFSET((ptr),offset)) = (val)

◆ RR_PUT64_BE

#define RR_PUT64_BE   RR_PUT64_NATIVE

◆ RR_PUT64_BE_OFFSET

#define RR_PUT64_BE_OFFSET   RR_PUT64_NATIVE_OFFSET

◆ RR_PUT64_NATIVE

#define RR_PUT64_NATIVE (   ptr,
  val 
)    *((U64 * RR_GET_PTR_POST)(ptr)) = (val)

◆ RR_PUT64_NATIVE_OFFSET

#define RR_PUT64_NATIVE_OFFSET (   ptr,
  val,
  offset 
)    *( RR_U64_PTR_OFFSET((ptr),offset)) = (val)

◆ RR_ROTL32

#define RR_ROTL32 (   u32v,
  num 
)    ( ( (u32v) << (num) ) | ( (u32v) >> (32 - (num))) )

◆ RR_ROTL64

#define RR_ROTL64 (   u64v,
  num 
)    ( ( (u64v) << (num) ) | ( (u64v) >> (64 - (num))) )

◆ RR_STRING_JOIN3

#define RR_STRING_JOIN3 (   arg1,
  arg2,
  arg3 
)    RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)

◆ RR_STRING_JOIN_DELAY3

#define RR_STRING_JOIN_DELAY3 (   arg1,
  arg2,
  arg3 
)    RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)

◆ RR_STRING_JOIN_IMMEDIATE3

#define RR_STRING_JOIN_IMMEDIATE3 (   arg1,
  arg2,
  arg3 
)    arg1 ## arg2 ## arg3

◆ RR_STRINGIZE

#define RR_STRINGIZE (   L)    #L

◆ RR_STRINGIZE_DELAY

#define RR_STRINGIZE_DELAY (   X)    RR_DO_MACRO( RR_STRINGIZE, X )

◆ RR_U16_PTR_OFFSET

#define RR_U16_PTR_OFFSET (   ptr,
  offset 
)    ((U16 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))

◆ RR_U32_PTR_OFFSET

#define RR_U32_PTR_OFFSET (   ptr,
  offset 
)    ((U32 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))

◆ RR_U64_PTR_OFFSET

#define RR_U64_PTR_OFFSET (   ptr,
  offset 
)    ((U64 * RR_GET_PTR_POST)((char *)(ptr) + (offset)))

◆ RR_UNUSED_VARIABLE

#define RR_UNUSED_VARIABLE (   x)    (void)(sizeof(x))

◆ rrAssert

#define rrAssert   RR_ASSERT

◆ rrassert

#define rrassert   RR_ASSERT

◆ RRSTRIPPABLE

#define RRSTRIPPABLE   static

◆ RRSTRIPPABLEPUB

#define RRSTRIPPABLEPUB

◆ UINTn

#define UINTn   UINTa

Function Documentation

◆ RR_COMPILER_ASSERT() [1/3]

RR_COMPILER_ASSERT ( RAD_TWOPTRBYTES  = =2 *RAD_PTRBYTES)

◆ RR_COMPILER_ASSERT() [2/3]

RR_COMPILER_ASSERT ( sizeof(RAD_UINTa = =sizeof(RR_STRING_JOIN(RAD_URAD_PTRBITS)))

◆ RR_COMPILER_ASSERT() [3/3]

RR_COMPILER_ASSERT ( sizeof(rrbool = =4)