26#if defined(__has_builtin) && __has_builtin(__builtin_memset)
27 __builtin_memset(ptr, value, size);
29 auto *p =
static_cast<unsigned char *
>(ptr);
31 p[i] =
static_cast<unsigned char>(value);
47#if defined(__has_builtin) && __has_builtin(__builtin_memcpy)
48 __builtin_memcpy(dst, src, size);
50 auto *d =
static_cast<unsigned char *
>(dst);
51 const auto *s =
static_cast<const unsigned char *
>(src);
73 if constexpr (is_pod_v<T>)
102 if constexpr (is_pod_v<T>)
Global configuration for the tesseract tensor library.
#define my_size_t
Size/index type used throughout the library.
Definition config.h:126
void copy_n_optimized(const T *src, T *dst, my_size_t count)
Copy elements from a source buffer to a destination buffer.
Definition mem_utils.h:100
void fill_n_optimized(T *ptr, my_size_t count, const T &value)
Fill a contiguous buffer with a given value.
Definition mem_utils.h:71
void memcpy(void *dst, const void *src, my_size_t size) noexcept
Copy a block of memory.
Definition mem_utils.h:45
void memset(void *ptr, int value, my_size_t size) noexcept
Fill a block of memory with a byte value.
Definition mem_utils.h:24