acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
operation.h
1// Created by camilo on 2024-04-17 00:58 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5CLASS_DECL_ACME void safe_memory_copy_bytes(void* ptarget, character_count sizeTargetMax, const void* psource, character_count size);
6CLASS_DECL_ACME void safe_wide_memory_copy(::wide_character* ptarget, character_count sizeTargetMax, const ::wide_character* psource, character_count size);
7CLASS_DECL_ACME void safe_memory_transfer_bytes(void* ptarget, character_count sizeTargetMax, const void* psource, character_count size);
8
9
10template < typename TYPE >
11inline void safe_memory_copy2(TYPE* ptarget, character_count countTargetMax, const TYPE* psource, character_count count)
12{
13
14 ::safe_memory_copy_bytes(ptarget, countTargetMax * sizeof(TYPE), psource, count * sizeof(TYPE));
15
16}
17
18
19template < typename TYPE >
20inline void safe_memory_transfer2(TYPE* ptarget, character_count countTargetMax, const TYPE* psource, character_count count)
21{
22
23 ::safe_memory_transfer_bytes(ptarget, countTargetMax * sizeof(TYPE), psource, count * sizeof(TYPE));
24
25}
26
27
28