#include #include #include #include "../Renderive/base/Memory.h" namespace { struct Payload { std::uint64_t value{}; }; } int main() { std::pmr::vector values(renderive::memory_resource()); values.resize(4096, 7); auto owner = renderive::make_shared(); owner->value = values.front(); if (owner->value != 7) return 1; std::thread release_thread([owner = std::move(owner)]() mutable { owner.reset(); }); release_thread.join(); renderive::Memory_Stats stats = renderive::memory_stats(); if (!stats.upstream_allocation_count || !stats.upstream_current_bytes || !stats.upstream_peak_bytes) return 2; return 0; }