20#ifndef KICAD_LEAK_AT_EXIT_H
21#define KICAD_LEAK_AT_EXIT_H
39#ifdef KICAD_SANITIZE_ADDRESS
40#include <sanitizer/lsan_interface.h>
41#define LSAN_IGNORE( ptr ) __lsan_ignore_object( ptr )
43#define LSAN_IGNORE( ptr ) (void)( ptr )
97 operator T&() {
return Get(); }
LEAK_AT_EXIT(LEAK_AT_EXIT &&)=delete
LEAK_AT_EXIT & operator=(const LEAK_AT_EXIT &)=delete
LEAK_AT_EXIT(const LEAK_AT_EXIT &)=delete
std::once_flag m_initFlag
LEAK_AT_EXIT & operator=(LEAK_AT_EXIT &&)=delete
T & Get()
Access the underlying object, creating it on first call.