TAU_TYPE_STRING(3)
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)