2 * @brief provides tracing funtionality.
4 * Provides a scope tracker
6 * @copyright © Copyright 2008 by Intra2net AG
12 #ifndef __I2N_COMMON_TRACEFUNC_HPP__
13 #define __I2N_COMMON_TRACEFUNC_HPP__
16 #include "logfunc.hpp"
17 #include "source_track_basics.hpp"
27 * @brief scope tracker class.
29 * basically: emits a ENTER message on construction and a LEAVE message on destruction.
30 * And indent these messages acoording to the nesting depth.
35 ScopeTracker(const SourceLocation& loc);
39 ScopeTracker(const ScopeTracker& rhs);
40 ScopeTracker& operator = (const ScopeTracker& rhs);
42 SourceLocation Location;
55 * @brief constructs a scope tracker.
57 #define SCOPETRACKER() ::I2n::Tracer::ScopeTracker __scope_tracker(HERE)
60 } // eo namespace Tracer