FreeBSD Manual Pages
MEMSWAP(3) C Programmer's Manual MEMSWAP(3) NAME memswap - swap the contents of two memory blocks SYNOPSIS #include <publib.h> void memswap(void *block1, void *block2, size_t n); DESCRIPTION memswap will swap the contents of the two blocks pointed by its first two arguments. The last argument gives the size of the memory blocks. EXAMPLE To swap two structs, one might do the following. struct tm tm1, tm2; memswap(&tm1, &tm2, sizeof(struct tm)); BUGS Using memswap to swap small portions of memory is inefficient. It is not worth it to use it to swap variables of any of the basic types, for instance. Use inline code for such cases. However, for large portions of memory, e.g., arrays, it is convenient. memswap can't swap variables whose address can't be taken. This ex- cludes variables with the register specifier and bitfields in structs. But then, there is no way to write a function (or macro) that can han- dle any kind of arguments. Life is hard. SEE ALSO publib(3) AUTHOR Lars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual MEMSWAP(3)
NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | BUGS | SEE ALSO | AUTHOR
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=memswap&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>
