35    using Consumer = std::function<void(APerformanceSection::Datas sections)>;
 
   38    APerformanceFrame(Consumer consumer);
 
   41    APerformanceFrame() = 
default;
 
   42    ~APerformanceFrame() = 
default;
 
   45    static APerformanceFrame* current() {
 
   47        return currentStorage();
 
   54        mSections << std::move(section);
 
   58    const APerformanceSection::Datas& sections() 
const noexcept {
 
   63    APerformanceSection::Datas mSections;
 
   67    static APerformanceFrame*& currentStorage() 
noexcept {
 
   68        thread_local APerformanceFrame* s = 
nullptr;