#ifndef __TRACYEVENT_HPP__ #define __TRACYEVENT_HPP__ #include "TracyVector.hpp" namespace tracy { struct TextData { const char* userText; uint64_t zoneName; // ptr }; #pragma pack( 1 ) struct Event { int64_t start; int64_t end; uint64_t srcloc; int8_t cpu_start; int8_t cpu_end; TextData* text; Event* parent; Vector child; }; enum { EventSize = sizeof( Event ) }; struct LockEvent { enum class Type : uint8_t { Wait, Obtain, Release }; int64_t time; uint64_t thread; Type type; }; enum { LockEventSize = sizeof( LockEvent ) }; struct LockTimeline { uint64_t id; Vector timeline; }; enum { LockTimelineSize = sizeof( LockTimeline ) }; #pragma pack() } #endif