PLCnext API Documentation 25.0.2.69
Stacktrace.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include <vector>
9
10namespace Arp::Base::Commons::Runtime
11{
12
14class ARP_EXPORT Stacktrace
15{
16public: // Impl forward declaration
17 class Impl;
18
19public: // usings
20 using Items = std::vector<String>;
21
22public: // construction/destruction/assignment
23 Stacktrace(void) = delete;
25 Stacktrace(Stacktrace&& arg)noexcept;
29
30public: // static operations
31 static Stacktrace GetCurrent(size_t skipDepth = 0);
32
33public: // setter/getter operations
34 const Items& GetItems(void)const;
35
36public: // internal operations
37 Impl& GetImpl(void);
38 const Impl& GetImpl(void)const;
39
40private: // Impl usings
42
43private: // methods
44 explicit Stacktrace(size_t skipDepth);
45
46private: // Impl fields
47 Pimpl pimpl;
48};
49
50} // end of namespace Arp::Base::Commons::Runtime
This class provides a stacktrace.
Definition: Stacktrace.hpp:15
Stacktrace & operator=(const Stacktrace &arg)
Default copy-assignment operator.
Stacktrace(const Stacktrace &arg)
Default copy constructor.
Stacktrace & operator=(Stacktrace &&arg) noexcept
Default move-assignment operator.
Stacktrace(Stacktrace &&arg) noexcept
Default move constructor.
~Stacktrace(void)
Default destructor.
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15