Struct StackTrace

Struct Documentation

struct StackTrace

Public Functions

explicit OSRF_TESTING_TOOLS_CPP_MEMORY_TOOLS_PUBLIC StackTrace(std::unique_ptr<StackTraceImpl> impl)
virtual OSRF_TESTING_TOOLS_CPP_MEMORY_TOOLS_PUBLIC ~StackTrace()
OSRF_TESTING_TOOLS_CPP_MEMORY_TOOLS_PUBLIC std::thread::id thread_id () const

Return the thread id of the thread from which the call stack originates.

OSRF_TESTING_TOOLS_CPP_MEMORY_TOOLS_PUBLIC const std::vector< Trace > & get_traces () const

Return a list of traces in the call stack.

Limited to a max call stack depth of 256

OSRF_TESTING_TOOLS_CPP_MEMORY_TOOLS_PUBLIC std::vector< Trace > get_traces_from_function_name (const char *function_name) const

Return a list of traces which end with the last call to the function name given.

This can be used, in combination with the name of the replacement memory function, to avoid a lot of boilerplate calls in the stack that are part of memory tools itself.

An empty vector returned indicates the function name was not found in the callstack.

template<typename CharT>
inline bool matches_any_object_filename(const std::basic_regex<CharT> &regex) const

Return true if the given regex is found to match the object_filename of any trace.

template<typename CharT>
inline bool matches_any_object_function(const std::basic_regex<CharT> &regex) const

Return true if the given regex is found to match the object_function of any trace.