48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
/* examples ex3/ex3.cpp */
|
|
|
|
#include "indentlog/scope.hpp"
|
|
|
|
using namespace xo;
|
|
|
|
int
|
|
fib(int n) {
|
|
scope log(XO_ENTER0(info), tag("n", n));
|
|
|
|
int retval = 1;
|
|
|
|
if (n >= 2) {
|
|
retval = fib(n - 1) + fib(n - 2);
|
|
}
|
|
|
|
log.end_scope(tag("n", n), " <-", xtag("retval", retval));
|
|
|
|
return retval;
|
|
}
|
|
|
|
int
|
|
main(int argc, char ** argv) {
|
|
//std::cerr << "0 1 2 3 4 5 6 7 8 9 10" << std::endl;
|
|
//std::cerr << "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" << std::endl;
|
|
|
|
log_config::min_log_level = log_level::info;
|
|
log_config::time_enabled = true;
|
|
log_config::time_local_flag = true;
|
|
log_config::style = FS_Streamlined;
|
|
log_config::indent_width = 4;
|
|
log_config::max_indent_width = 30;
|
|
log_config::location_tab = 80;
|
|
log_config::function_entry_color = color_spec_type::xterm(69);
|
|
log_config::function_exit_color = color_spec_type::xterm(70);
|
|
log_config::code_location_color = color_spec_type::xterm(166);
|
|
|
|
int n = 3;
|
|
|
|
scope log(XO_ENTER0(info), ":n ", 4);
|
|
|
|
int fn = fib(n);
|
|
|
|
log && log(tag("n", n));
|
|
log && log("<-", xtag("fib(n)", fn));
|
|
}
|
|
|
|
/* ex3/ex3.cpp */
|