the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 93 lines 2.3 kB view raw
1// Copyright (C) 2001-2003 2// William E. Kempf 3// Copyright (C) 2007-8 Anthony Williams 4// 5// Distributed under the Boost Software License, Version 1.0. (See accompanying 6// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8#ifndef BOOST_XTIME_WEK070601_HPP 9#define BOOST_XTIME_WEK070601_HPP 10 11#include <boost/thread/detail/config.hpp> 12#if defined BOOST_THREAD_USES_DATETIME 13 14#include <boost/cstdint.hpp> 15#include <boost/thread/thread_time.hpp> 16#include <boost/date_time/posix_time/conversion.hpp> 17 18#include <boost/config/abi_prefix.hpp> 19 20namespace boost { 21 22enum xtime_clock_types 23{ 24 TIME_UTC_=1 25// TIME_TAI, 26// TIME_MONOTONIC, 27// TIME_PROCESS, 28// TIME_THREAD, 29// TIME_LOCAL, 30// TIME_SYNC, 31// TIME_RESOLUTION 32}; 33 34struct xtime 35{ 36#if defined(BOOST_NO_INT64_T) 37 typedef int_fast32_t xtime_sec_t; //INT_FAST32_MIN <= sec <= INT_FAST32_MAX 38#else 39 typedef int_fast64_t xtime_sec_t; //INT_FAST64_MIN <= sec <= INT_FAST64_MAX 40#endif 41 42 typedef int_fast32_t xtime_nsec_t; //0 <= xtime.nsec < NANOSECONDS_PER_SECOND 43 44 xtime_sec_t sec; 45 xtime_nsec_t nsec; 46 47 operator system_time() const 48 { 49 return boost::posix_time::from_time_t(0)+ 50 boost::posix_time::seconds(static_cast<long>(sec))+ 51#ifdef BOOST_DATE_TIME_HAS_NANOSECONDS 52 boost::posix_time::nanoseconds(nsec); 53#else 54 boost::posix_time::microseconds((nsec+500)/1000); 55#endif 56 } 57 58}; 59 60inline xtime get_xtime(boost::system_time const& abs_time) 61{ 62 xtime res; 63 boost::posix_time::time_duration const time_since_epoch=abs_time-boost::posix_time::from_time_t(0); 64 65 res.sec=static_cast<xtime::xtime_sec_t>(time_since_epoch.total_seconds()); 66 res.nsec=static_cast<xtime::xtime_nsec_t>(time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second())); 67 return res; 68} 69 70inline int xtime_get(struct xtime* xtp, int clock_type) 71{ 72 if (clock_type == TIME_UTC_) 73 { 74 *xtp=get_xtime(get_system_time()); 75 return clock_type; 76 } 77 return 0; 78} 79 80 81inline int xtime_cmp(const xtime& xt1, const xtime& xt2) 82{ 83 if (xt1.sec == xt2.sec) 84 return (int)(xt1.nsec - xt2.nsec); 85 else 86 return (xt1.sec > xt2.sec) ? 1 : -1; 87} 88 89} // namespace boost 90 91#include <boost/config/abi_suffix.hpp> 92#endif 93#endif //BOOST_XTIME_WEK070601_HPP