#include "smartTrace.h"

class ClassA
{
public:
    ClassA()
    {
        TRACE_ENTER("ClassA::ClassA");
    }
    
    ~ClassA()
    {
        TRACE_ENTER("ClassA::~ClassA");
        TRACE("Releasing memory...");
    }

    void method1()
    {
        TRACE_ENTER("ClassA::method1");
        TRACE("Processing data...")
    }
};

void function1()
{
    TRACE_ENTER("function1");
    ClassA a;
    TRACE("Calling method on a...")
    a.method1();
}

int main (int argc, char const* argv[])
{
    TRACE_ENTER("main");
    ClassA b;
    TRACE("Calling function...")
    function1();
    return 0;
}

