#pragma once #include #include "yexception.h" #include template class TWithBackTrace: public T { public: template inline TWithBackTrace(Args&&... args) : T(std::forward(args)...) { BT_.Capture(); } const TBackTrace* BackTrace() const noexcept override { return &BT_; } private: TBackTrace BT_; };