wall_clock_proto.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2010 NICTA and the authors listed below
00002 // http://nicta.com.au
00003 // 
00004 // Authors:
00005 // - Conrad Sanderson (conradsand at ieee dot org)
00006 // 
00007 // This file is part of the Armadillo C++ library.
00008 // It is provided without any warranty of fitness
00009 // for any purpose. You can redistribute this file
00010 // and/or modify it under the terms of the GNU
00011 // Lesser General Public License (LGPL) as published
00012 // by the Free Software Foundation, either version 3
00013 // of the License or (at your option) any later version.
00014 // (see http://www.opensource.org/licenses for more info)
00015 
00016 
00017 //! \addtogroup wall_clock
00018 //! @{
00019 
00020 
00021 //! Class for measuring time intervals
00022 class wall_clock
00023   {
00024   public:
00025   
00026   inline  wall_clock();
00027   inline ~wall_clock();
00028   
00029   inline void   tic();  //!< start the timer
00030   inline double toc();  //!< return the number of seconds since the last call to tic()
00031   
00032   
00033   private:
00034   
00035   bool valid;
00036   
00037   #if defined(ARMA_USE_BOOST_DATE)
00038     boost::posix_time::ptime         boost_time1;
00039     boost::posix_time::time_duration boost_duration;
00040   #else
00041     #if defined(ARMA_HAVE_GETTIMEOFDAY)
00042       struct timeval posix_time1;
00043       struct timeval posix_time2;
00044     #endif
00045   #endif
00046   
00047   };
00048 
00049 
00050 //! @}