123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*
- * Copyright Andrey Semashev 2007 - 2015.
- * 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)
- */
- /*!
- * \file time_traits.hpp
- * \author Andrey Semashev
- * \date 01.12.2007
- *
- * The header contains implementation of time traits that are used in various parts of the
- * library to acquire current time.
- */
- #ifndef BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
- #define BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
- #include <boost/date_time/posix_time/posix_time_types.hpp>
- #include <boost/log/detail/config.hpp>
- #include <boost/log/detail/header.hpp>
- #ifdef BOOST_HAS_PRAGMA_ONCE
- #pragma once
- #endif
- namespace boost {
- BOOST_LOG_OPEN_NAMESPACE
- namespace attributes {
- //! Base class for time traits involving Boost.DateTime.
- struct basic_time_traits
- {
- //! Time type
- typedef posix_time::ptime time_type;
- //! Current time source
- #if defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- typedef posix_time::microsec_clock clock_source;
- #else
- typedef posix_time::second_clock clock_source;
- #endif // defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- };
- //! Time traits that describes UTC time acquirement via Boost.DateTime facilities
- struct utc_time_traits :
- public basic_time_traits
- {
- /*!
- * \return Current time stamp
- */
- static time_type get_clock()
- {
- return clock_source::universal_time();
- }
- };
- //! Time traits that describes local time acquirement via Boost.DateTime facilities
- struct local_time_traits :
- public basic_time_traits
- {
- /*!
- * \return Current time stamp
- */
- static time_type get_clock()
- {
- return clock_source::local_time();
- }
- };
- } // namespace attributes
- BOOST_LOG_CLOSE_NAMESPACE // namespace log
- } // namespace boost
- #include <boost/log/detail/footer.hpp>
- #endif // BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
|