]> git.tdb.fi Git - libs/core.git/blobdiff - source/debug/backtrace.h
Add move semantics to Variant
[libs/core.git] / source / debug / backtrace.h
index 33ed8934eb1fd966b09664eb6cbe5c046eeeef8a..b8e06af27b9c400d1e6f3b741627a0e6e716ee04 100644 (file)
@@ -1,34 +1,35 @@
 #ifndef MSP_DEBUG_BACKTRACE_H_
 #define MSP_DEBUG_BACKTRACE_H_
 
-#include <list>
 #include <ostream>
 #include <string>
+#include <vector>
+#include <msp/core/mspcore_api.h>
 
 namespace Msp {
 namespace Debug {
 
-class Backtrace
+class MSPCORE_API Backtrace
 {
 public:
        struct StackFrame
        {
-               void *address;
+               void *address = nullptr;
                std::string file;
                std::string symbol;
        };
 
 private:
-       std::list<StackFrame> frames;
+       std::vector<StackFrame> frames;
 
 public:
-       const std::list<StackFrame> &get_frames() const { return frames; }
+       const std::vector<StackFrame> &get_frames() const { return frames; }
 
        static Backtrace create();
 };
 
-std::ostream &operator<<(std::ostream &, const Backtrace &);
-std::ostream &operator<<(std::ostream &, const Backtrace::StackFrame &);
+MSPCORE_API std::ostream &operator<<(std::ostream &, const Backtrace &);
+MSPCORE_API std::ostream &operator<<(std::ostream &, const Backtrace::StackFrame &);
 
 } // namespace Debug
 } // namespace Msp