X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2Ftags%2Fstable%2FETL%2F_clock_base.h;fp=ETL%2Ftags%2Fstable%2FETL%2F_clock_base.h;h=0000000000000000000000000000000000000000;hb=3a6643238c67c043fc3592837a05d6d2861967f1;hp=32d87427d774ce1957c2dd97e0a3060090bf27b9;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/ETL/tags/stable/ETL/_clock_base.h b/ETL/tags/stable/ETL/_clock_base.h deleted file mode 100644 index 32d8742..0000000 --- a/ETL/tags/stable/ETL/_clock_base.h +++ /dev/null @@ -1,133 +0,0 @@ -/*! ======================================================================== -** Extended Template and Library -** Clock Abstraction Implementation -** $Id$ -** -** Copyright (c) 2002 Robert B. Quattlebaum Jr. -** -** This package is free software; you can redistribute it and/or -** modify it under the terms of the GNU General Public License as -** published by the Free Software Foundation; either version 2 of -** the License, or (at your option) any later version. -** -** This package is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -** General Public License for more details. -** -** === N O T E S =========================================================== -** -** This is an internal header file, included by other ETL headers. -** You should not attempt to use it directly. -** -** ========================================================================= */ - -/* === S T A R T =========================================================== */ - -#ifndef __ETL__CLOCK_H -#define __ETL__CLOCK_H - -/* === H E A D E R S ======================================================= */ - -#ifndef WIN32 -#include -#else -inline void sleep(int i) { Sleep(i*1000); } -#endif - -/* === M A C R O S ========================================================= */ - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -_ETL_BEGIN_NAMESPACE - -inline void yield() { sleep(0); } - -/*! ======================================================================== -** \class clock_base -** \brief clock abstraction -** -** A more detailed description needs to be written. -*/ -template -class clock_base : public DESC -{ -public: - typedef typename DESC::value_type value_type; - -private: - typedef clock_base _clock; - typedef typename DESC::timestamp timestamp; - - timestamp base_time; - - using DESC::get_current_time; - using DESC::realtime; - using DESC::one_second; -public: - - clock_base() { reset(); } - - void reset() - { get_current_time(base_time); } - - value_type operator()()const - { return timestamp_to_seconds(get_current_time()-base_time); } - - value_type pop_time() - { - // Grab the old base time - timestamp old_time=base_time; - - // Put the current time into base_time - get_current_time(base_time); - - return timestamp_to_seconds(base_time-old_time); - } - - static void - sleep(const value_type &length) - { - if(!realtime()) - ::sleep((int)(length+0.5)); - else - { - _clock timer; - timer.reset(); - value_type val; - for(val=timer();one_second()