a class for tracing C++ constructors and assignment operators
struct trace
{
trace()
{
std::cout << "trace()" << std::endl;
}
trace(const trace &)
{
std::cout << "trace(const trace &)" << std::endl;
}
trace(trace &&)
{
std::cout << "trace(trace &&)" << std::endl;
}
trace & operator=(const trace &)
{
std::cout << "operator=(const trace &)" << std::endl;
return *this;
}
trace & operator=(trace &&)
{
std::cout << "operator=(trace &&)" << std::endl;
return *this;
}
~trace()
{
std::cout << "~trace()" << std::endl;
}
};