tracy/public/client/TracyStringHelpers.hpp

42 lines
837 B
C++
Raw Normal View History

#ifndef __TRACYSTRINGHELPERS_HPP__
#define __TRACYSTRINGHELPERS_HPP__
#include <assert.h>
#include <string.h>
#include "../common/TracyAlloc.hpp"
2022-07-19 23:04:59 +00:00
#include "../common/TracyForceInline.hpp"
namespace tracy
{
2022-07-19 23:04:59 +00:00
static tracy_force_inline char* CopyString( const char* src, size_t sz )
{
auto dst = (char*)tracy_malloc( sz + 1 );
memcpy( dst, src, sz );
dst[sz] = '\0';
return dst;
}
2022-07-19 23:04:59 +00:00
static tracy_force_inline char* CopyString( const char* src )
{
2022-07-19 23:06:12 +00:00
return CopyString( src, strlen( src ) );
}
2022-07-19 23:04:59 +00:00
static tracy_force_inline char* CopyStringFast( const char* src, size_t sz )
{
auto dst = (char*)tracy_malloc_fast( sz + 1 );
memcpy( dst, src, sz );
dst[sz] = '\0';
return dst;
}
2022-07-19 23:04:59 +00:00
static tracy_force_inline char* CopyStringFast( const char* src )
{
2022-07-19 23:06:12 +00:00
return CopyStringFast( src, strlen( src ) );
}
}
#endif