The open source OpenXR runtime
at main 41 lines 837 B view raw
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