Program Listing for File functions.hpp

Return to documentation for file (/tmp/ws/src/ecl_lite/ecl_time_lite/include/ecl/time_lite/functions.hpp)

/*****************************************************************************
** Ifdefs
*****************************************************************************/

#ifndef ECL_TIME_LITE_FUNCTIONS_HPP_
#define ECL_TIME_LITE_FUNCTIONS_HPP_

/*****************************************************************************
** Includes
*****************************************************************************/

#include <ctime>
#include <ecl/config/macros.hpp>
#include <ecl/time_lite/config.hpp>

/*****************************************************************************
** Includes
*****************************************************************************/

#if defined(ECL_HAS_MACH_TIMERS)
  #include "functions_mac.hpp"
#elif defined(ECL_HAS_RT_TIMERS)
  // monotonic clock -> clock_gettime; clock_selection -> clock_nanosleep
  // #if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK) >= 0L && defined(_POSIX_CLOCK_SELECTION) && (_POSIX_CLOCK_SELECTION) >= 0L
  #include "functions_rt.hpp"
#elif defined(ECL_HAS_POSIX_TIMERS)
    #include "functions_pos.hpp"
#elif defined(ECL_HAS_WIN_TIMERS)
  // basic system time functions (horrid resolution and little functionality!)
  #include "functions_win.hpp"
#else
  #error("There is not a supporting time implementation on this platform (possibly needs extended ecl support).")
#endif

#endif /* ECL_TIME_LITE_FUNCTIONS_HPP_ */