-
Notifications
You must be signed in to change notification settings - Fork 0
callstack.hpp
In this header the wrapper class for the C++ support can be found.
Its not necessary to include this header on its own, this is automatically done by
callstack.h
.
The namespace used to separate the wrapper class from the struct callstack
, declared in
callstack.h
.
The actual wrapper class, consisting of all necessary operators and constructors for seemlessly integration into C++ code.
A typedef
to improve the readability of the code.
A private variable containing the underlying struct callstack
.
Note: The
struct
is part of this class.
The default constructor. Creates a new backtrace unless emplace
is set to false
.
In either case, the underlying struct callstack
is properly initialized.
Throws a runtime_error
or a system_error
if compiled using C++11 or newer
if the backtrace could not be created.
Constructs the underlying struct callstack
using the given trace.
Throws a runtime_error
or a system_error
if compiled using C++11 or newer
if the length of the trace is smaller than zero.
Trivial copy constructor.
Constructs a callstack object using the given struct callstack
.
Trivial move constructor. Only available when compiled using a compiler supporting C++11 or newer.
Trivial destructor.
Trivial copy assignation operator.
Trivial move assignation operator. Only available when compiled using a compiler supporting C++11 or newer.
Implicit casting operator. Returns a pointer to the underlying struct callstack
.
Implicit casting operator. Returns a pointer to the underlying struct callstack
.
Prvate helper function used to throw either a system_error
if compiled using C++11
or newer or to throw a runtime_error
otherwise.
Copyright (C) 2022, 2024 mhahnFr.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".