inline void Record(T& instanceToBeRecorded) { typedef typename T::ReplayTag Tag; Tag t; Private::Record(buffer, instanceToBeRecorded, t); //Print out the buffer for easy debugging. buffer.Print(); printf("\n\n"); }