Provided by: libsdl3-doc_3.2.20+ds-2_all bug

NAME

       SDL_copyp - A macro to copy memory between objects, with basic type checking.

SYNOPSIS

       #include <SDL3/SDL_stdinc.h>

       #define SDL_copyp(dst, src)                                                                 \
           { SDL_COMPILE_TIME_ASSERT(SDL_copyp, sizeof (*(dst)) == sizeof (*(src))); }             \
           SDL_memcpy((dst), (src), sizeof(*(src)))

DESCRIPTION

       SDL_memcpy  and  SDL_memmove  do not care where you copy memory to and from, which can lead to bugs. This
       macro aims to avoid most of those bugs by making sure that the source and destination are  both  pointers
       to  objects that are the same size. It does not check that the objects are the same _type_, just that the
       copy will not overflow either object.

       The size check happens at compile time, and the compiler will throw an error if the objects are different
       sizes.

       Generally this is intended to copy a single object, not an array.

       This macro looks like it double-evaluates its parameters, but the extras them  are  in  sizeof  sections,
       which generate no code nor side-effects.

MACRO PARAMETERS

       dst    a pointer to the destination object. Must not be NULL.

       src    a pointer to the source object. Must not be NULL.

THREAD SAFETY

       It is safe to call this function from any thread.

AVAILABILITY

       This function is available since SDL 3.2.0.

Simple Directmedia Layer                           SDL 3.2.20                                       SDL_copyp(3)