Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ACG::Tracing Class Reference

#include <ACG/Utils/Tracing.hh>

Inheritance diagram for ACG::Tracing:

Public Member Functions

 Tracing (const std::string &_text, std::ostream &_os=std::cerr)
 ~Tracing ()
void progress ()

Protected Attributes

std::ostream & os_

Static Protected Attributes

static char progress_ [4] = { '-', '\\', '|', '/' }
static unsigned char idx_ = 0

Detailed Description

Tracing outputs starting and finishing messages for some lengthy procedures. Its constructor will output a given string, the destructor will output "finished\\n". That means you have to start a new block and define a local trancing object in there. When entering the block the constructor is called, the start message is printed. When leaving the block the descructor displays the finishing message. For convenience there are some macros defining the local object so you can write:

{ // start a new block
ACG_TRACE("What's the meaning of like?");
for (years=0; years <= ACG::NumLimitsT<int>::max(); ++years)
// ... lengthy computation, show some progress
std::cout << "42";
} // leaving the block will display "finished\n"

If you want to trace only one command you can also use:

ACG_TRACE_CMD("What's the meaning of like?", calc_meaning_of_life());
See also

Definition at line 125 of file Tracing.hh.

Member Function Documentation

void ACG::Tracing::progress ( )

Show some progress (the next frame of a rotating bar is displayed for every call of this function)

Definition at line 142 of file Tracing.hh.

The documentation for this class was generated from the following files: