-
Notifications
You must be signed in to change notification settings - Fork 0
callstack.hpp
This header defines the C++ wrapper class for the callstack structure.
It's 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 seamlessly integration into C++ code.
typedef
::callstack
struct_callstack
A typedef
to improve the readability of the code.
struct_callstack
self
A private variable containing the underlying struct callstack
.
Note
The underlying callstack object is managed by 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.
If the backtrace could not be created a runtime_error
or a system_error
if compiled using C++11 or newer is thrown.
Initializes the underlying struct callstack
creating a backtrace of the calling function,
ignoring all frames after the given address.
If the backtrace could not be created a runtime_error
or a system_error
if compiled using C++11 or newer is thrown.
Constructs the underlying struct callstack
using the given trace.
If the length of the trace is smaller than 0
a runtime_error
or a system_error
if compiled using C++11 or newer
is thrown.
callstack::callstack(
const callstack&
other)
Trivial copy constructor.
explicit callstack::callstack(
const struct_callstack*
other)
Constructs a callstack object using the given struct callstack
.
callstack::callstack(
callstack&&
other)
Trivial move constructor. Only available when compiled using a compiler supporting C++11 or newer.
Trivial destructor.
callstack&
operator=(
const callstack&
other)
Trivial copy assignment operator.
callstack&
operator=(
callstack&&
other)
Trivial move assignment operator. Only available when compiled using a compiler supporting C++11 or newer.
operator
struct_callstack*
()
Implicit casting operator. Returns a pointer to the underlying struct callstack
.
operator
const struct_callstack*
() const
Implicit casting operator. Returns a pointer to the underlying struct callstack
.
struct_callstack*
operator->()
Dereferencing operator. Returns a pointer to the underlying struct callstack
.
Note
Added in version 1.1.
const struct_callstack*
operator->() const
Dereferencing operator. Returns a pointer to the underlying struct callstack
.
Note
Added in version 1.1.
Private 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".