-/**
- * A stack of stack traces.
- */
-typedef struct StackTraceStack {
- StackTrace trace;
- struct StackTraceStack* next;
-} StackTraceStack;
-
-/**
- * Push the current stack trace onto the stack.
- * Return 0 on success, a negative value on error.
- * On error, the stack is unchanged.
- */
-int pushCurrentStackTrace(size_t skip, StackTraceStack** head);
+ /**
+ * Move the top stack trace from other onto this.
+ * Returns true on success, false on failure (other was empty).
+ */
+ bool moveTopFrom(StackTraceStack& other);