32#ifndef FENNEC_MEMORY_H
33#define FENNEC_MEMORY_H
36#include <fennec/memory/detail/_string.h>
46template<
typename TypeT>
48 return FENNEC_BUILTIN_ADDRESSOF(obj);
78constexpr int memcmp_s(
const void* lhs,
size_t n0,
const void* rhs,
size_t n1) {
79 return memcmp(lhs, rhs, n0 < n1 ? n0 : n1);
104constexpr void*
memcpy_s(
void* dst,
size_t n0,
const void* src,
size_t n1) {
105 return memcpy(dst, src, n0 < n1 ? n0 : n1);
124constexpr void*
memmove_s(
void* dst,
size_t n0,
const void* src,
size_t n1) {
125 return memmove(dst, src, n0 < n1 ? n0 : n1);
constexpr void * memcpy_s(void *dst, size_t n0, const void *src, size_t n1)
Safe version of memcpy.
Definition common.h:104
constexpr void * memmove_s(void *dst, size_t n0, const void *src, size_t n1)
Safe version of memmove.
Definition common.h:124
constexpr TypeT * addressof(TypeT &obj)
Returns the address of an object regardless of whether the & operators is implemented.
Definition common.h:47
constexpr int memcmp_s(const void *lhs, size_t n0, const void *rhs, size_t n1)
Safe version of memcmp.
Definition common.h:78