The open source OpenXR runtime
1#ifndef __TRACYSTRINGHELPERS_HPP__
2#define __TRACYSTRINGHELPERS_HPP__
3
4#include <assert.h>
5#include <string.h>
6
7#include "../common/TracyAlloc.hpp"
8#include "../common/TracyForceInline.hpp"
9
10namespace tracy
11{
12
13static tracy_force_inline char* CopyString( const char* src, size_t sz )
14{
15 auto dst = (char*)tracy_malloc( sz + 1 );
16 memcpy( dst, src, sz );
17 dst[sz] = '\0';
18 return dst;
19}
20
21static tracy_force_inline char* CopyString( const char* src )
22{
23 return CopyString( src, strlen( src ) );
24}
25
26static tracy_force_inline char* CopyStringFast( const char* src, size_t sz )
27{
28 auto dst = (char*)tracy_malloc_fast( sz + 1 );
29 memcpy( dst, src, sz );
30 dst[sz] = '\0';
31 return dst;
32}
33
34static tracy_force_inline char* CopyStringFast( const char* src )
35{
36 return CopyStringFast( src, strlen( src ) );
37}
38
39}
40
41#endif