/usr/include/boost/log/attributes
NameSizeModeActions
attribute.hpp52300644editdlrm
attribute_cast.hpp17800644editdlrm
attribute_name.hpp57990644editdlrm
attribute_set.hpp171400644editdlrm
attribute_value.hpp162770644editdlrm
attribute_value_impl.hpp40750644editdlrm
attribute_value_set.hpp169540644editdlrm
clock.hpp26870644editdlrm
constant.hpp35470644editdlrm
counter.hpp30720644editdlrm
current_process_id.hpp16900644editdlrm
current_process_name.hpp17030644editdlrm
current_thread_id.hpp28850644editdlrm
fallback_policy.hpp47310644editdlrm
fallback_policy_fwd.hpp13120644editdlrm
function.hpp46120644editdlrm
mutable_constant.hpp91400644editdlrm
named_scope.hpp149750644editdlrm
scoped_attribute.hpp81410644editdlrm
timer.hpp24690644editdlrm
time_traits.hpp19670644editdlrm
value_extraction.hpp349270644editdlrm
value_extraction_fwd.hpp15940644editdlrm
value_visitation.hpp136120644editdlrm
value_visitation_fwd.hpp11500644editdlrm
Edit: /usr/include/boost/log/attributes/timer.hpp (2469B)
/* * 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 timer.hpp * \author Andrey Semashev * \date 02.12.2007 * * The header contains implementation of a stop watch attribute. */ #ifndef BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_ #define BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_ #include #include #include #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { BOOST_LOG_OPEN_NAMESPACE namespace attributes { /*! * \brief A class of an attribute that makes an attribute value of the time interval since construction * * The timer attribute calculates the time passed since its construction and returns it on value acquisition. * The attribute value type is boost::posix_time::time_duration. * * On Windows platform there are two implementations of the attribute. The default one is more precise but * a bit slower. This version uses QueryPerformanceFrequence/QueryPerformanceCounter API * to calculate elapsed time. * * There are known problems with these functions when used with some CPUs, notably AMD Athlon with * Cool'n'Quiet technology enabled. See the following links for more information and possible resolutions: * * http://support.microsoft.com/?scid=kb;en-us;895980 * http://support.microsoft.com/?id=896256 * * In case if none of these solutions apply, you are free to define BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER macro to * fall back to another implementation based on Boost.DateTime. */ class BOOST_LOG_API timer : public attribute { public: //! Attribute value type typedef utc_time_traits::time_type::time_duration_type value_type; private: //! Factory implementation class BOOST_SYMBOL_VISIBLE impl; public: /*! * Constructor. Starts time counting. */ timer(); /*! * Constructor for casting support */ explicit timer(cast_source const& source); }; } // namespace attributes BOOST_LOG_CLOSE_NAMESPACE // namespace log } // namespace boost #include #endif // BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_