logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Availability

       This function is available since SDL 3.2.0.

Simple Directmedia Layer                           SDL 3.2.10                                       SDL_copyp(3)

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.

Header File

       Defined in SDL3/SDL_stdinc.h

Name

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

Synopsis

#include"SDL3/SDL.h"#defineSDL_copyp(dst,src).BI{SDL_COMPILE_TIME_ASSERT(SDL_copyp,sizeof(*(dst))==sizeof(*(src)));}.BISDL_memcpy((dst),(src),sizeof(*(src)))

Thread Safety

       It is safe to call this function from any thread.

See Also