Poster of Linux kernelThe best gift for a Linux geek
TAU_TYPE_STRING

TAU_TYPE_STRING

Section: TAU Instrumentation API (3) Updated: 08/31/2005
Local index Up
 

NAME

TAU_TYPE_STRING - Creates a type string  

SYNOPSIS

C++:

TAU_TYPE_STRING(string &variable, string &type_string);
 

DESCRIPTION

This macro assigns the string constructed in type_string to the variable. The + operator and the CT macro can be used to construct the type string of an object. This is useful in identifying templates uniquely, as shown below.  

EXAMPLE

C++ :

template<class PLayout>
ostream& operator<<(ostream& out, const ParticleBase<PLayout>& P) {
  TAU_TYPE_STRING(taustr, "ostream (ostream, " + CT(P) + " )");
  TAU_PROFILE("operator<<()"taustr, TAU_PARTICLE | TAU_IO);
  ... 
}
    

When PLayout is instantiated with " UniformCartesian<3U, double> ",this generates the unique template name:

operator<<() ostream const 
ParticleBase<UniformCartesian<3U, double> > )
    

The following example illustrates the usage of the CT macro to extract the name of the class associated with the given object using CT(*this);

template<class PLayout>
unsigned ParticleBase<PLayout7>::GetMessage(Message& msg, int node) {
  TAU_TYPE_STRING(taustr, CT(*this) + "unsigned (Message, int)");
  TAU_PROFILE("ParticleBase::GetMessage()", taustr, TAU_PARTICLE);
  ...
}
    

When PLayout is instantiated with " UniformCartesian<3U, double> ",this generates the unique template name:

ParticleBase::GetMessage() ParticleBase<UniformCartesian<3U, 
double> > unsigned (Message, int)
    
 

SEE ALSO

CT(3), TAU_PROFILE, TAU_PROFILE_TIMER(3)


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLE
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:56:50 GMT, April 16, 2011