X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2FETL%2Fclock;fp=ETL%2FETL%2Fclock;h=2457b6ce2db65965b89d69e69068efcf2bb2ff61;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=0000000000000000000000000000000000000000;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/ETL/ETL/clock b/ETL/ETL/clock new file mode 100644 index 0000000..2457b6c --- /dev/null +++ b/ETL/ETL/clock @@ -0,0 +1,104 @@ +// -*- C++ -*- +/*! ======================================================================== +** Extended Template and Library +** Clock Abstraction +** $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 =========================================================== +** +** ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __ETL__CLOCK__ +#define __ETL__CLOCK__ + +/* === H E A D E R S ======================================================= */ + +#include "etl_config.h" + +#ifdef HAVE_GETTIMEOFDAY +#include "_clock_gettimeofday.h" +#ifndef ETL_CLOCK_DEFAULT_DESC_CLASS +#define ETL_CLOCK_DEFAULT_DESC_CLASS _ETL::clock_desc_gettimeofday +#endif +#ifndef ETL_CLOCK_REALTIME_DESC_CLASS +#define ETL_CLOCK_REALTIME_DESC_CLASS _ETL::clock_desc_gettimeofday +#endif +#endif + +#ifdef _WIN32 +#include "_clock_win32hpcount.h" +#ifndef ETL_CLOCK_DEFAULT_DESC_CLASS +#define ETL_CLOCK_DEFAULT_DESC_CLASS _ETL::clock_desc_win32hpcount +#endif +#ifndef ETL_CLOCK_REALTIME_DESC_CLASS +#define ETL_CLOCK_REALTIME_DESC_CLASS _ETL::clock_desc_win32hpcount +#endif +#endif + +// If we could not find ourselves a better +// clock description, go ahead and use the +// standard clock() implementation. +// (Better than nothing...) +#include "_clock_system.h" +#ifndef ETL_CLOCK_DEFAULT_DESC_CLASS +#define ETL_CLOCK_DEFAULT_DESC_CLASS _ETL::clock_desc_sys_clock +#endif +#ifndef ETL_CLOCK_PROCTIME_DESC_CLASS +#define ETL_CLOCK_PROCTIME_DESC_CLASS _ETL::clock_desc_sys_clock +#endif +#ifndef ETL_CLOCK_REALTIME_DESC_CLASS +#define ETL_CLOCK_REALTIME_DESC_CLASS _ETL::clock_desc_sys_time +#endif + +#include "_clock_base.h" + +_ETL_BEGIN_NAMESPACE + +#if 0 + typedef _ETL::clock_base clock; + #ifdef ETL_CLOCK_PROCTIME_DESC_CLASS + #define ETL_CLOCK_PROCTIME + typedef clock_base clock_proctime; + #endif + #ifdef ETL_CLOCK_REALTIME_DESC_CLASS + #define ETL_CLOCK_REALTIME + typedef clock_base clock_realtime; + #else + #warning No realtime clock description found. + #endif + +#else + class clock : public _ETL::clock_base { }; + #ifdef ETL_CLOCK_PROCTIME_DESC_CLASS + #define ETL_CLOCK_PROCTIME + class clock_proctime : public _ETL::clock_base { }; + #endif + #ifdef ETL_CLOCK_REALTIME_DESC_CLASS + #define ETL_CLOCK_REALTIME + class clock_realtime : public _ETL::clock_base { }; + #else + #warning No realtime clock description found. + #endif +#endif + +_ETL_END_NAMESPACE + +//using etl::clock; + +/* === E N D =============================================================== */ + +#endif