Enforce same type in MemWrite.

This commit is contained in:
Bartosz Taudul
2026-06-04 00:44:56 +02:00
parent 7d139a7bf1
commit a27dae3e88

View File

@@ -2,6 +2,7 @@
#define __TRACYALIGN_HPP__
#include <string.h>
#include <type_traits>
#include "TracyForceInline.hpp"
@@ -9,17 +10,18 @@ namespace tracy
{
template<typename T>
tracy_force_inline T MemRead( const void* ptr )
tracy_force_inline T MemRead( const T* ptr )
{
T val;
memcpy( &val, ptr, sizeof( T ) );
return val;
}
template<typename T>
tracy_force_inline void MemWrite( void* ptr, T val )
template<typename T, typename U>
tracy_force_inline void MemWrite( T* ptr, U val )
{
memcpy( ptr, &val, sizeof( T ) );
static_assert( std::is_same<T, U>::value, "MemWrite type mismatch" );
memcpy( (void*)ptr, &val, sizeof( T ) );
}
}