xtd 0.2.0
Loading...
Searching...
No Matches

◆ csf_

#define csf_

#include <xtd.core/include/xtd/diagnostics/current_stack_frame.h>

Provides information about the current stack frame.

Header
#include <xtd/diagnostics/stack_frame>
Library
xtd.core
Returns
Informations about the current stack frame.
Examples
The following example shows how to use the csf_.
#include <xtd/diagnostics/stack_frame>
#include <xtd/console>
using namespace xtd;
void trace_message(const string& message, const xtd::diagnostics::stack_frame& stack_frame) {
console::write_line("stack_frame: {}\n", stack_frame);
console::write_line("Message: {}", message);
console::write_line("Method: {}", stack_frame.get_method());
console::write_line("File name: {}", stack_frame.get_file_name());
console::write_line("File line number: {}", stack_frame.get_file_line_number());
}
auto main() -> int {
trace_message("Something has happened.", csf_);
// trace_message("Something has happened.", csf_); is same as :
//
// trace_message("Something has happened.", {__FILE__, __LINE__, __func__});
}
// This code can produce the following output :
//
// stack_frame: /!---OMITTED---!/csf.cpp:15:0
//
// Message: Something happened.
// Method name: main
// File name: /!---OMITTED---!/csf.cpp
// File line number: 15
virtual const xtd::string & get_file_name() const noexcept
Gets the file name that contains the code that is executing. This information is typically extracted ...
virtual xtd::size get_file_line_number() const noexcept
Gets the line number in the file that contains the code that is executing. This information is typica...
virtual const xtd::string & get_method() const noexcept
Gets the method in which the frame is executing.
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.h:46
#define csf_
Provides information about the current stack frame.
Definition current_stack_frame.h:30
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Remarks
same as current_stack_frame_
Examples
assert_box.cpp, assert_dialog.cpp, barrier.cpp, csf.cpp, exception_ptr.cpp, line_info.cpp, lock.cpp, lock_guard_keyword.cpp, system_exception.cpp, and test_tunit.cpp.