| 772 | }; |
| 773 | |
| 774 | class StackTraceImplHolder : public StackTraceImplBase { |
| 775 | public: |
| 776 | size_t size() const { |
| 777 | return (_stacktrace.size() >= skip_n_firsts()) |
| 778 | ? _stacktrace.size() - skip_n_firsts() |
| 779 | : 0; |
| 780 | } |
| 781 | Trace operator[](size_t idx) const { |
| 782 | if (idx >= size()) { |
| 783 | return Trace(); |
| 784 | } |
| 785 | return Trace(_stacktrace[idx + skip_n_firsts()], idx); |
| 786 | } |
| 787 | void *const *begin() const { |
| 788 | if (size()) { |
| 789 | return &_stacktrace[skip_n_firsts()]; |
| 790 | } |
| 791 | return nullptr; |
| 792 | } |
| 793 | |
| 794 | protected: |
| 795 | std::vector<void *> _stacktrace; |
| 796 | }; |
| 797 | |
| 798 | #if BACKWARD_HAS_UNWIND == 1 |
| 799 |
nothing calls this directly
no outgoing calls
no test coverage detected