summaryrefslogtreecommitdiff
path: root/src/lib/stack.hpp
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-12-15 10:58:01 +0000
committerCarl Hetherington <cth@carlh.net>2014-12-15 10:58:01 +0000
commit815e4cf7441d83ffca6d4d797a1a313f7c6464ab (patch)
treea469fb8153fc83cc8e0b35ced4e32328d9fca8e9 /src/lib/stack.hpp
parent1e33ccb216e73d3ea94ed08aaa4766c856178757 (diff)
Hand-apply 155b4b9f615f42b5cc26e2953860aba34b17bbc0; allow build of Windows debug version using gdb.
Diffstat (limited to 'src/lib/stack.hpp')
-rw-r--r--src/lib/stack.hpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/lib/stack.hpp b/src/lib/stack.hpp
deleted file mode 100644
index 73a13bf85..000000000
--- a/src/lib/stack.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2007 Edd Dawson.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef STACK_HPP_0022_01092007
-#define STACK_HPP_0022_01092007
-
-#include <string>
-#include <list>
-#include <iosfwd>
-
-namespace dbg
-{
- //! stack_frame objects are collected by a stack object. They contain information about the instruction pointer,
- //! the name of the corresponding function and the "module" (executable or library) in which the function resides.
- struct stack_frame
- {
- stack_frame(const void *instruction, const std::string &function, unsigned int line, const std::string &module);
-
- const void *instruction;
- std::string function;
- unsigned int line;
- std::string module;
- };
-
- //! Allows you to write a stack_frame object to an std::ostream
- std::ostream &operator<< (std::ostream &out, const stack_frame &frame);
-
- //! Instantiate a dbg::stack object to collect information about the current call stack. Once created, a stack object
- //! may be freely copied about and will continue to contain the information about the scope in which collection occurred.
- class stack
- {
- public:
- typedef std::list<stack_frame>::size_type depth_type;
- typedef std::list<stack_frame>::const_iterator const_iterator;
-
- //! Collect information about the current call stack. Information on the most recent frames will be collected
- //! up to the specified limit. 0 means unlimited.
- //! An std::runtime_error may be thrown on failure.
- stack(depth_type limit = 0);
-
- //! Returns an iterator referring to the "top" stack frame
- const_iterator begin() const;
-
- //! Returns an iterator referring to one past the "bottom" stack frame
- const_iterator end() const;
-
- //! Returns the number of frames collected
- depth_type depth() const;
-
- private:
- std::list<stack_frame> frames_;
- };
-
-} // close namespace dbg
-
-#endif // STACK_HPP_0022_01092007