bionic (3) TAU_TYPE_STRING.3.gz

Provided by: tau_2.17.3.1.dfsg-4.2_amd64 bug

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)

                                                   08/31/2005                                 TAU_TYPE_STRING(3)