text: // NOTE: in order to compile this system on Linux (and most Unix
  // systems) you will have to include the -lrt flag to your compiler.
  //
  // This timer typically has 1/1000000 second (1 micro-second) accuracy
  // under most Linux distributions
  
  #ifndef TIMER_H
  #define TIMER_H
  
  #include <iostream>
  #include <string>
  #include <time.h>
  #include <sys/time.h>
  #include <string.h>
  
  using namespace std;
  
  class timer {
  private:
      timeval startVar, stopVar;
      bool running;
  
  public:
      timer() : running(0) {}
      ~timer() {}
      timer(timer & myTimer);
      int start();
      int stop();
      string toString();
      ostream & print(ostream &theStream);
      double getTime();
  };
  
  ostream & operator<<(ostream & theStream, timer & theTimer);
  
  #endif
  