|
Trace a function call.
The CTB_Trace macro can be configured to
- output a log message for each call of a method and print number of calls at program termination
- count each call of a method and print the count at program termination
- just do nothing
Note that CTB__TraceLog or CTB__TraceCount have to be defined before the CTB_Trace.hxx header file is included.
The CTB_Trace macro is called with one string argument t , the call signature of the member function. The macro is usually called in the first line of a member function definition, before all variable declarations.
Typical examples are:
Note, that CTB_Trace does not generate any code and thus any overhead unless either the CTB__TraceLog or the CTB__TraceCount macro is defined.
Referenced by CTBstring::Append(), CTBcstringBase::Append(), CTBstring::AppendData(), CTBvector::At(), CTBsharedBuffer::At(), CTBmatrix::At(), CTBxmlOStream::Attach(), CTBxmlIStream::Attach(), CTBzfile::Bad(), CTBxmlOStream::Bad(), CTBargv::CTBargv(), CTBcallbackLink::CTBcallbackLink(), CTBmatrix::CTBmatrix(), CTBsignalLink::CTBsignalLink(), CTBstring::CTBstring(), CTBvector::CTBvector(), CTBxmlIStream::CTBxmlIStream(), CTBxmlLexer::CTBxmlLexer(), CTBxmlOStream::CTBxmlOStream(), CTBxmlToken::CTBxmlToken(), CTBzfile::CTBzfile(), CTBvector::ChangeCapacity(), CTBmatrix::ChangeCapacity(), CTBxmlIStream::CheckElement(), CTBargv::CheckErrors(), CTBargv::CheckStream(), CTBargv::CheckUnused(), CTBxmlLexer::Clear(), CTBxmlToken::Clear(), CTBmap::Clear(), CTBgset::Clear(), CTBbtree::Clear(), CTBbtreeNode::Clone(), CTBzfile::Close(), CTBxmlOStream::Close(), CTBxmlIStream::Close(), CTBxmlIStream::CloseElement(), CTBstring::CollapseWhite(), CTBstring::Compare(), CTBstring::CompareCaseBlind(), CTBsignalReceiverBase::Connect(), CTBcallbackTargetBase::Connect(), CTBxmlIStream::ConvertCharRef(), CTBxmlIStream::ConvertEntityRef(), CTBstring::Copy(), CTBcstringBase::Copy(), CTBsharedBuffer::CopyData(), CTBcstringBase::CopyField(), CTBsharedBuffer::CreateBuffer(), CTBvector::Delete(), CTBmap::Delete(), CTBgset::Delete(), CTBsignalReceiverBase::Deliver(), CTBmatrix::Diagonal(), CTBsignalReceiverBase::Disconnect(), CTBcallbackTargetBase::Disconnect(), CTBxmlIStream::DropElement(), CTBstring::EnsureUnsharedCapacity(), CTBzfile::Eof(), CTBxmlOStream::Eof(), CTBstring::Escape(), CTBsignalEmitter::Execute(), CTBcallbackSourceBase::Execute(), CTBzfile::Fail(), CTBxmlOStream::Fail(), CTBxmlIStream::FailToken(), CTBmap::Find(), CTBgset::Find(), CTBstring::FindCharacter(), CTBmap::FindOrCreate(), CTBcstringBase::FromStream(), CTBxmlLexer::Get(), CTBxmlIStream::Get(), CTBstring::Get(), CTBcstringBase::Get(), CTBxmlLexer::GetChar(), CTBxmlIStream::GetDataFromLexer(), CTBxmlIStream::GetDataStream(), CTBxmlLexer::GetEntity(), CTBxmlIStream::GetLexerToken(), CTBstring::GetLine(), CTBcstringBase::GetLine(), CTBxmlLexer::GetName(), CTBxmlIStream::GetTagFromLexer(), CTBxmlIStream::GetTagOrData(), CTBxmlIStream::GetTagOrNonWhiteData(), CTBxmlIStream::GetTaggedValue(), CTBxmlLexer::GetWhite(), CTBzfile::Good(), CTBxmlOStream::Good(), CTBxmlToken::Grab(), CTBsharedBuffer::Grab(), CTBvector::Insert(), CTBmap::Insert(), CTBgset::Insert(), CTBbtreeNode::Insert(), CTBbtreeNode::InsertFixup(), CTBstring::IsLowerCase(), CTBstring::IsUpperCase(), CTBstring::IsWhite(), CTBcstringBase::Locate(), CTBargv::Locate(), CTBcstringBase::LocateField(), CTBmap::LocateMatchOrBound(), CTBgset::LocateMatchOrBound(), CTBmap::LocateMatchOrNext(), CTBgset::LocateMatchOrNext(), CTBmap::LocateMatchOrPrev(), CTBgset::LocateMatchOrPrev(), CTBsignalReceiverBase::NConnect(), CTBsignalEmitter::NConnect(), CTBcallbackTargetBase::NConnect(), CTBcallbackSourceBase::NConnect(), CTBcstringBase::NField(), CTBstring::NewString(), CTBbtreeNode::Next(), CTBargv::NextArg(), CTBzfile::Open(), CTBxmlOStream::Open(), CTBxmlIStream::Open(), CTBxmlIStream::OpenElement(), CTBxmlIStream::Peek(), CTBxmlIStream::PeekTagOrData(), CTBxmlIStream::PeekTagOrNonWhiteData(), CTBbtreeNode::Prev(), CTBsharedBuffer::PrivateCopy(), CTBxmlOStream::PutEmptyTag(), CTBxmlOStream::PutEndTag(), CTBxmlOStream::PutEscapedString(), CTBxmlOStream::PutStartTag(), CTBxmlOStream::PutTaggedValue(), CTBbtreeNode::Rank(), CTBzfile::Read(), CTBzfile::ReadObject(), CTBsharedBuffer::Release(), CTBbtreeNode::Remove(), CTBbtreeNode::RemoveFixup(), CTBmap::Rename(), CTBvector::Resize(), CTBsharedBuffer::Resize(), CTBmatrix::Resize(), CTBbtreeNode::RotateLeft(), CTBbtreeNode::RotateLeftRight(), CTBbtreeNode::RotateRight(), CTBbtreeNode::RotateRightLeft(), CTBxmlIStream::SetFail(), CTBargv::SetupStream(), CTBsharedBuffer::SharedCopy(), CTBbtreeNode::Skip(), CTBmatrix::SwapColumn(), CTBmatrix::SwapRow(), CTBstring::Terminate(), CTBstring::ToLowerCase(), CTBargv::ToStream(), CTBstring::ToUpperCase(), CTBcstringBase::Tolower(), CTBcstringBase::Toupper(), CTBcstringBase::Trim(), CTBstring::TrimWhite(), CTBstring::Unescape(), CTBxmlIStream::Unget(), CTBstring::Unshare(), CTBsharedBuffer::Unshare(), CTBzfile::Write(), CTBzfile::WriteObject(), CTBstring::operator const char *(), CTBstring::operator+(), CTBxmlOStream::operator<<(), CTBxmlToken::operator=(), CTBvector::operator=(), CTBsignalReceiverBase::operator=(), CTBmatrix::operator=(), CTBcallbackTargetBase::operator=(), CTBbtree::operator=(), CTBstring::operator[](), CTBbtree::operator[](), CTBargv::~CTBargv(), CTBbtree::~CTBbtree(), CTBbtreeNode::~CTBbtreeNode(), CTBcallbackLink::~CTBcallbackLink(), CTBcallbackSourceBase::~CTBcallbackSourceBase(), CTBcallbackTargetBase::~CTBcallbackTargetBase(), CTBmatrix::~CTBmatrix(), CTBsignalEmitter::~CTBsignalEmitter(), CTBsignalLink::~CTBsignalLink(), CTBsignalReceiverBase::~CTBsignalReceiverBase(), CTBvector::~CTBvector(), CTBxmlIStream::~CTBxmlIStream(), CTBxmlOStream::~CTBxmlOStream(), CTBxmlToken::~CTBxmlToken(), and CTBzfile::~CTBzfile().
|