////////////////////////////////////////////////////////////////////////////// | |
// | |
// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost | |
// Software License, Version 1.0. (See accompanying file | |
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
// | |
// See http://www.boost.org/libs/interprocess for documentation. | |
// | |
////////////////////////////////////////////////////////////////////////////// | |
#ifndef BOOST_INTERPROCESS_DETAIL_PTIME_TO_TIMESPEC_HPP | |
#define BOOST_INTERPROCESS_DETAIL_PTIME_TO_TIMESPEC_HPP | |
#include <boost/interprocess/detail/posix_time_types_wrk.hpp> | |
namespace boost { | |
namespace interprocess { | |
namespace detail { | |
inline timespec ptime_to_timespec (const boost::posix_time::ptime &tm) | |
{ | |
const boost::posix_time::ptime epoch(boost::gregorian::date(1970,1,1)); | |
boost::posix_time::time_duration duration (tm - epoch); | |
timespec ts; | |
ts.tv_sec = duration.total_seconds(); | |
ts.tv_nsec = duration.total_nanoseconds() % 1000000000; | |
return ts; | |
} | |
} //namespace detail { | |
} //namespace interprocess { | |
} //namespace boost { | |
#endif //ifndef BOOST_INTERPROCESS_DETAIL_PTIME_TO_TIMESPEC_HPP |