diff options
author | Alex Zolotarev <alex@mapswithme.com> | 2014-09-07 10:24:20 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:26:20 +0300 |
commit | 216e231fc90c3ef607966cc3c14a0f8720d5fe6a (patch) | |
tree | 03c72f394d1cf36b14061cefcafb853e2f0d3bf7 /3party/boost/boost/log | |
parent | 3e05e9dc8619195714d13505c125327879adcebc (diff) |
[boost] Updated headers to 1.56
Diffstat (limited to '3party/boost/boost/log')
237 files changed, 2271 insertions, 2062 deletions
diff --git a/3party/boost/boost/log/attributes.hpp b/3party/boost/boost/log/attributes.hpp index 1e3c028441..92b9c259cc 100644 --- a/3party/boost/boost/log/attributes.hpp +++ b/3party/boost/boost/log/attributes.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -31,7 +31,7 @@ #include <boost/log/attributes/current_thread_id.hpp> #endif -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/attribute.hpp b/3party/boost/boost/log/attributes/attribute.hpp index 44ac98ea1a..0d6ba64a17 100644 --- a/3party/boost/boost/log/attributes/attribute.hpp +++ b/3party/boost/boost/log/attributes/attribute.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,14 +16,14 @@ #define BOOST_LOG_ATTRIBUTES_ATTRIBUTE_HPP_INCLUDED_ #include <new> -#include <boost/intrusive_ptr.hpp> #include <boost/move/core.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ref_counter.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/intrusive_ref_counter.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -66,10 +66,15 @@ public: * * All attributes must derive their implementation from this class. */ - struct BOOST_LOG_NO_VTABLE BOOST_LOG_VISIBLE impl : - public intrusive_ref_counter + struct BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE impl : + public boost::intrusive_ref_counter< impl > { /*! + * \brief Virtual destructor + */ + virtual ~impl() {} + + /*! * \return The actual attribute value. It shall not return empty values (exceptions * shall be used to indicate errors). */ @@ -88,7 +93,7 @@ public: * Default constructor. Creates an empty attribute value factory, which is not usable until * \c set_impl is called. */ - BOOST_LOG_DEFAULTED_FUNCTION(attribute(), {}) + BOOST_DEFAULTED_FUNCTION(attribute(), {}) /*! * Copy constructor @@ -132,7 +137,7 @@ public: /*! * Verifies that the factory is not in empty state */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Verifies that the factory is in empty state diff --git a/3party/boost/boost/log/attributes/attribute_cast.hpp b/3party/boost/boost/log/attributes/attribute_cast.hpp index 26e0cfd18f..7ae1c92cf4 100644 --- a/3party/boost/boost/log/attributes/attribute_cast.hpp +++ b/3party/boost/boost/log/attributes/attribute_cast.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/attributes/attribute.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/attribute_name.hpp b/3party/boost/boost/log/attributes/attribute_name.hpp index ee4b9a5b3c..4e283e6a28 100644 --- a/3party/boost/boost/log/attributes/attribute_name.hpp +++ b/3party/boost/boost/log/attributes/attribute_name.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,10 +20,10 @@ #include <boost/assert.hpp> #include <boost/cstdint.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -140,7 +140,7 @@ public: * * \return \c true if <tt>*this</tt> was constructed with an attribute name, \c false otherwise */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Checks if the object was default-constructed * diff --git a/3party/boost/boost/log/attributes/attribute_set.hpp b/3party/boost/boost/log/attributes/attribute_set.hpp index 819269ae32..5481c095f4 100644 --- a/3party/boost/boost/log/attributes/attribute_set.hpp +++ b/3party/boost/boost/log/attributes/attribute_set.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -25,7 +25,7 @@ #include <boost/log/attributes/attribute.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -120,8 +120,8 @@ private: node_base(); - BOOST_LOG_DELETED_FUNCTION(node_base(node_base const&)) - BOOST_LOG_DELETED_FUNCTION(node_base& operator= (node_base const&)) + BOOST_DELETED_FUNCTION(node_base(node_base const&)) + BOOST_DELETED_FUNCTION(node_base& operator= (node_base const&)) }; //! Container elements @@ -285,7 +285,7 @@ public: */ void swap(attribute_set& that) BOOST_NOEXCEPT { - register implementation* const p = m_pImpl; + implementation* const p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } diff --git a/3party/boost/boost/log/attributes/attribute_value.hpp b/3party/boost/boost/log/attributes/attribute_value.hpp index 031028cfbf..972093d9b7 100644 --- a/3party/boost/boost/log/attributes/attribute_value.hpp +++ b/3party/boost/boost/log/attributes/attribute_value.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,11 +15,10 @@ #ifndef BOOST_LOG_ATTRIBUTE_VALUE_HPP_INCLUDED_ #define BOOST_LOG_ATTRIBUTE_VALUE_HPP_INCLUDED_ -#include <boost/intrusive_ptr.hpp> #include <boost/move/core.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> -#include <boost/log/utility/intrusive_ref_counter.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/utility/type_info_wrapper.hpp> #include <boost/log/utility/type_dispatch/type_dispatcher.hpp> #include <boost/log/attributes/attribute.hpp> @@ -27,7 +26,7 @@ #include <boost/log/attributes/value_visitation_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -115,7 +114,7 @@ public: /*! * Default constructor. Creates an empty (absent) attribute value. */ - BOOST_LOG_DEFAULTED_FUNCTION(attribute_value(), {}) + BOOST_DEFAULTED_FUNCTION(attribute_value(), {}) /*! * Copy constructor @@ -155,7 +154,7 @@ public: /*! * The operator checks if the attribute value is empty */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * The operator checks if the attribute value is empty */ diff --git a/3party/boost/boost/log/attributes/attribute_value_impl.hpp b/3party/boost/boost/log/attributes/attribute_value_impl.hpp index 6ea41611e1..405c346861 100644 --- a/3party/boost/boost/log/attributes/attribute_value_impl.hpp +++ b/3party/boost/boost/log/attributes/attribute_value_impl.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/attribute_value_set.hpp b/3party/boost/boost/log/attributes/attribute_value_set.hpp index 87dccc3851..0ca635909c 100644 --- a/3party/boost/boost/log/attributes/attribute_value_set.hpp +++ b/3party/boost/boost/log/attributes/attribute_value_set.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -29,7 +29,7 @@ #include <boost/log/expressions/keyword_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -95,6 +95,7 @@ public: private: struct implementation; + friend struct implementation; //! A base class for the container nodes struct node_base @@ -104,8 +105,8 @@ private: node_base(); - BOOST_LOG_DELETED_FUNCTION(node_base(node_base const&)) - BOOST_LOG_DELETED_FUNCTION(node_base& operator= (node_base const&)) + BOOST_DELETED_FUNCTION(node_base(node_base const&)) + BOOST_DELETED_FUNCTION(node_base& operator= (node_base const&)) }; //! Container elements @@ -310,7 +311,7 @@ public: */ void swap(attribute_value_set& that) BOOST_NOEXCEPT { - register implementation* const p = m_pImpl; + implementation* const p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } diff --git a/3party/boost/boost/log/attributes/clock.hpp b/3party/boost/boost/log/attributes/clock.hpp index 9e39b24e81..c28da5a877 100644 --- a/3party/boost/boost/log/attributes/clock.hpp +++ b/3party/boost/boost/log/attributes/clock.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/attributes/time_traits.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -54,7 +54,7 @@ public: protected: //! Attribute factory implementation - struct BOOST_LOG_VISIBLE impl : + struct BOOST_SYMBOL_VISIBLE impl : public attribute::impl { attribute_value get_value() diff --git a/3party/boost/boost/log/attributes/constant.hpp b/3party/boost/boost/log/attributes/constant.hpp index 6156f09156..f2ae0a7847 100644 --- a/3party/boost/boost/log/attributes/constant.hpp +++ b/3party/boost/boost/log/attributes/constant.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -25,7 +25,7 @@ #include <boost/log/attributes/attribute_value_impl.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -52,7 +52,7 @@ public: protected: //! Factory implementation - class BOOST_LOG_VISIBLE impl : + class BOOST_SYMBOL_VISIBLE impl : public attribute_value_impl< value_type > { //! Base type diff --git a/3party/boost/boost/log/attributes/counter.hpp b/3party/boost/boost/log/attributes/counter.hpp index ea22c1d65f..a4722714c9 100644 --- a/3party/boost/boost/log/attributes/counter.hpp +++ b/3party/boost/boost/log/attributes/counter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #endif // BOOST_LOG_NO_THREADS #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -57,7 +57,7 @@ public: protected: //! Base class for factory implementation - class BOOST_LOG_NO_VTABLE BOOST_LOG_VISIBLE impl : + class BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE impl : public attribute::impl { }; @@ -128,8 +128,8 @@ public: attribute_value get_value() { - register unsigned long next_counter = static_cast< unsigned long >(++m_Counter); - register value_type next = static_cast< value_type >(m_Initial + (next_counter * m_Step)); + const unsigned long next_counter = static_cast< unsigned long >(++m_Counter); + value_type next = static_cast< value_type >(m_Initial + (next_counter * m_Step)); return make_attribute_value(next); } }; diff --git a/3party/boost/boost/log/attributes/current_process_id.hpp b/3party/boost/boost/log/attributes/current_process_id.hpp index dba6b9473f..d528b7d8f4 100644 --- a/3party/boost/boost/log/attributes/current_process_id.hpp +++ b/3party/boost/boost/log/attributes/current_process_id.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/attributes/attribute_cast.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/current_process_name.hpp b/3party/boost/boost/log/attributes/current_process_name.hpp index 4611095ab4..92e78592ba 100644 --- a/3party/boost/boost/log/attributes/current_process_name.hpp +++ b/3party/boost/boost/log/attributes/current_process_name.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/attributes/attribute_cast.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/current_thread_id.hpp b/3party/boost/boost/log/attributes/current_thread_id.hpp index 231cb1ad07..6b8488f5f5 100644 --- a/3party/boost/boost/log/attributes/current_thread_id.hpp +++ b/3party/boost/boost/log/attributes/current_thread_id.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -25,7 +25,7 @@ #error Boost.Log: The current_thread_id attribute is only available in multithreaded builds #endif -#include <boost/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/log/detail/thread_id.hpp> #include <boost/log/attributes/attribute.hpp> #include <boost/log/attributes/attribute_cast.hpp> @@ -56,7 +56,7 @@ public: protected: //! Factory implementation - class BOOST_LOG_VISIBLE impl : + class BOOST_SYMBOL_VISIBLE impl : public attribute_value::impl { public: diff --git a/3party/boost/boost/log/attributes/fallback_policy.hpp b/3party/boost/boost/log/attributes/fallback_policy.hpp index 00f52a2ee0..8a3c648001 100644 --- a/3party/boost/boost/log/attributes/fallback_policy.hpp +++ b/3party/boost/boost/log/attributes/fallback_policy.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/attributes/fallback_policy_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/fallback_policy_fwd.hpp b/3party/boost/boost/log/attributes/fallback_policy_fwd.hpp index 76f8620446..b6b01e3f4f 100644 --- a/3party/boost/boost/log/attributes/fallback_policy_fwd.hpp +++ b/3party/boost/boost/log/attributes/fallback_policy_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/function.hpp b/3party/boost/boost/log/attributes/function.hpp index 648c450753..4333e321ce 100644 --- a/3party/boost/boost/log/attributes/function.hpp +++ b/3party/boost/boost/log/attributes/function.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/attributes/attribute_value_impl.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -57,7 +57,7 @@ public: protected: //! Base class for factory implementation - class BOOST_LOG_NO_VTABLE BOOST_LOG_VISIBLE impl : + class BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE impl : public attribute::impl { }; diff --git a/3party/boost/boost/log/attributes/mutable_constant.hpp b/3party/boost/boost/log/attributes/mutable_constant.hpp index 8dbb8cb4f6..a668256f6a 100644 --- a/3party/boost/boost/log/attributes/mutable_constant.hpp +++ b/3party/boost/boost/log/attributes/mutable_constant.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,9 +15,8 @@ #ifndef BOOST_LOG_ATTRIBUTES_MUTABLE_CONSTANT_HPP_INCLUDED_ #define BOOST_LOG_ATTRIBUTES_MUTABLE_CONSTANT_HPP_INCLUDED_ -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> #include <boost/static_assert.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/mpl/if.hpp> #include <boost/move/core.hpp> #include <boost/move/utility.hpp> @@ -29,7 +28,7 @@ #include <boost/log/attributes/attribute_value_impl.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -90,7 +89,7 @@ public: protected: //! Factory implementation - class BOOST_LOG_VISIBLE impl : + class BOOST_SYMBOL_VISIBLE impl : public attribute::impl { private: @@ -223,7 +222,7 @@ public: protected: //! Factory implementation - class BOOST_LOG_VISIBLE impl : + class BOOST_SYMBOL_VISIBLE impl : public attribute::impl { private: diff --git a/3party/boost/boost/log/attributes/named_scope.hpp b/3party/boost/boost/log/attributes/named_scope.hpp index aa0bbd2a0e..7b75c3d73c 100644 --- a/3party/boost/boost/log/attributes/named_scope.hpp +++ b/3party/boost/boost/log/attributes/named_scope.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -30,7 +30,7 @@ #include <boost/log/attributes/attribute_cast.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -66,6 +66,17 @@ struct named_scope_entry //! \endcond { /*! + * \brief Scope entry type + * + * Describes scope name specifics + */ + enum scope_name_type + { + general, //!< The scope name contains some unstructured string that should not be interpreted by the library + function //!< The scope name contains a function signature + }; + + /*! * The scope name (e.g. a function signature) */ string_literal scope_name; @@ -77,6 +88,10 @@ struct named_scope_entry * The line number in the source file */ unsigned int line; + /*! + * The scope name type + */ + scope_name_type type; /*! * Initializing constructor @@ -85,10 +100,11 @@ struct named_scope_entry * * \b Throws: Nothing. */ - named_scope_entry(string_literal const& sn, string_literal const& fn, unsigned int ln) BOOST_NOEXCEPT : + named_scope_entry(string_literal const& sn, string_literal const& fn, unsigned int ln, scope_name_type t = general) BOOST_NOEXCEPT : scope_name(sn), file_name(fn), - line(ln) + line(ln), + type(t) { } }; @@ -354,8 +370,8 @@ public: * \param fn File name, in which the scope is located. * \param ln Line number in the file. */ - sentry(string_literal const& sn, string_literal const& fn, unsigned int ln) BOOST_NOEXCEPT : - m_Entry(sn, fn, ln) + sentry(string_literal const& sn, string_literal const& fn, unsigned int ln, scope_entry::scope_name_type t = scope_entry::general) BOOST_NOEXCEPT : + m_Entry(sn, fn, ln, t) { named_scope::push_scope(m_Entry); } @@ -368,8 +384,8 @@ public: named_scope::pop_scope(); } - BOOST_LOG_DELETED_FUNCTION(sentry(sentry const&)) - BOOST_LOG_DELETED_FUNCTION(sentry& operator= (sentry const&)) + BOOST_DELETED_FUNCTION(sentry(sentry const&)) + BOOST_DELETED_FUNCTION(sentry& operator= (sentry const&)) private: scope_entry m_Entry; @@ -377,7 +393,7 @@ public: private: //! Attribute implementation class - struct BOOST_LOG_VISIBLE impl; + struct BOOST_SYMBOL_VISIBLE impl; public: /*! @@ -421,8 +437,8 @@ BOOST_LOG_CLOSE_NAMESPACE // namespace log #ifndef BOOST_LOG_DOXYGEN_PASS -#define BOOST_LOG_NAMED_SCOPE_INTERNAL(var, name, file, line)\ - BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line)); +#define BOOST_LOG_NAMED_SCOPE_INTERNAL(var, name, file, line, type)\ + BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line, type)); #endif // BOOST_LOG_DOXYGEN_PASS @@ -430,15 +446,28 @@ BOOST_LOG_CLOSE_NAMESPACE // namespace log * Macro for scope markup. The specified scope name is pushed to the end of the current thread scope list. */ #define BOOST_LOG_NAMED_SCOPE(name)\ - BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), name, __FILE__, __LINE__) + BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), name, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::general) /*! - * Macro for function scope markup. The scope name is constructed with help of compiler and contains current function name. + * Macro for function scope markup. The scope name is constructed with help of compiler and contains the current function signature. * The scope name is pushed to the end of the current thread scope list. * * Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another. */ -#define BOOST_LOG_FUNCTION() BOOST_LOG_NAMED_SCOPE(BOOST_CURRENT_FUNCTION) +#define BOOST_LOG_FUNCTION()\ + BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::function) + +/*! + * Macro for function scope markup. The scope name is constructed with help of compiler and contains the current function name. It may be shorter than what \c BOOST_LOG_FUNCTION macro produces. + * The scope name is pushed to the end of the current thread scope list. + * + * Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another. + */ +#if defined(_MSC_VER) || defined(__GNUC__) +#define BOOST_LOG_FUNC() BOOST_LOG_NAMED_SCOPE(__FUNCTION__) +#else +#define BOOST_LOG_FUNC() BOOST_LOG_FUNCTION() +#endif #include <boost/log/detail/footer.hpp> diff --git a/3party/boost/boost/log/attributes/scoped_attribute.hpp b/3party/boost/boost/log/attributes/scoped_attribute.hpp index 55f72660bb..33b1c395fe 100644 --- a/3party/boost/boost/log/attributes/scoped_attribute.hpp +++ b/3party/boost/boost/log/attributes/scoped_attribute.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -30,7 +30,7 @@ #include <boost/log/utility/unique_identifier_name.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -99,7 +99,7 @@ public: } #ifndef BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT - BOOST_LOG_DELETED_FUNCTION(scoped_logger_attribute(scoped_logger_attribute const&)) + BOOST_DELETED_FUNCTION(scoped_logger_attribute(scoped_logger_attribute const&)) #else // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT scoped_logger_attribute(scoped_logger_attribute const& that) : m_pLogger(that.m_pLogger), m_itAttribute(that.m_itAttribute) { @@ -107,7 +107,7 @@ public: } #endif // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT - BOOST_LOG_DELETED_FUNCTION(scoped_logger_attribute& operator= (scoped_logger_attribute const&)) + BOOST_DELETED_FUNCTION(scoped_logger_attribute& operator= (scoped_logger_attribute const&)) }; } // namespace aux @@ -122,7 +122,7 @@ public: * \return An unspecified guard object which may be used to initialize a \c scoped_attribute variable. */ template< typename LoggerT > -BOOST_LOG_FORCEINLINE aux::scoped_logger_attribute< LoggerT > add_scoped_logger_attribute(LoggerT& l, attribute_name const& name, attribute const& attr) +BOOST_FORCEINLINE aux::scoped_logger_attribute< LoggerT > add_scoped_logger_attribute(LoggerT& l, attribute_name const& name, attribute const& attr) { #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) return aux::scoped_logger_attribute< LoggerT >(l, name, attr); @@ -194,7 +194,7 @@ public: } #ifndef BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT - BOOST_LOG_DELETED_FUNCTION(scoped_thread_attribute(scoped_thread_attribute const&)) + BOOST_DELETED_FUNCTION(scoped_thread_attribute(scoped_thread_attribute const&)) #else // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT scoped_thread_attribute(scoped_thread_attribute const& that) : m_itAttribute(that.m_itAttribute) { @@ -202,7 +202,7 @@ public: } #endif // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT - BOOST_LOG_DELETED_FUNCTION(scoped_thread_attribute& operator= (scoped_thread_attribute const&)) + BOOST_DELETED_FUNCTION(scoped_thread_attribute& operator= (scoped_thread_attribute const&)) }; } // namespace aux @@ -215,7 +215,7 @@ public: * \param attr The attribute. Must not be NULL. * \return An unspecified guard object which may be used to initialize a \c scoped_attribute variable. */ -BOOST_LOG_FORCEINLINE aux::scoped_thread_attribute add_scoped_thread_attribute(attribute_name const& name, attribute const& attr) +BOOST_FORCEINLINE aux::scoped_thread_attribute add_scoped_thread_attribute(attribute_name const& name, attribute const& attr) { #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) return aux::scoped_thread_attribute(name, attr); diff --git a/3party/boost/boost/log/attributes/time_traits.hpp b/3party/boost/boost/log/attributes/time_traits.hpp index 2e8dfc0f6d..9a967f8cb8 100644 --- a/3party/boost/boost/log/attributes/time_traits.hpp +++ b/3party/boost/boost/log/attributes/time_traits.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/timer.hpp b/3party/boost/boost/log/attributes/timer.hpp index 0da5b9d79e..ae7d65ebfd 100644 --- a/3party/boost/boost/log/attributes/timer.hpp +++ b/3party/boost/boost/log/attributes/timer.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/attributes/time_traits.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -59,7 +59,7 @@ public: private: //! Factory implementation - class BOOST_LOG_VISIBLE impl; + class BOOST_SYMBOL_VISIBLE impl; public: /*! diff --git a/3party/boost/boost/log/attributes/value_extraction.hpp b/3party/boost/boost/log/attributes/value_extraction.hpp index 9f89f9b1e7..84ee3ddf8d 100644 --- a/3party/boost/boost/log/attributes/value_extraction.hpp +++ b/3party/boost/boost/log/attributes/value_extraction.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -40,7 +40,7 @@ #include <boost/log/utility/type_dispatch/static_type_dispatcher.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -137,14 +137,14 @@ private: //! The function unwraps \c value_ref, if possible template< typename T, typename TagT > -BOOST_LOG_FORCEINLINE typename enable_if< mpl::is_sequence< T >, value_ref< T, TagT > >::type +BOOST_FORCEINLINE typename enable_if< mpl::is_sequence< T >, value_ref< T, TagT > >::type unwrap_value_ref(value_ref< T, TagT > const& r) { return r; } template< typename T, typename TagT > -BOOST_LOG_FORCEINLINE typename disable_if< mpl::is_sequence< T >, T const& >::type +BOOST_FORCEINLINE typename disable_if< mpl::is_sequence< T >, T const& >::type unwrap_value_ref(value_ref< T, TagT > const& r) { return r.get(); @@ -175,7 +175,7 @@ public: /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(value_extractor(), {}) + BOOST_DEFAULTED_FUNCTION(value_extractor(), {}) /*! * Copy constructor diff --git a/3party/boost/boost/log/attributes/value_extraction_fwd.hpp b/3party/boost/boost/log/attributes/value_extraction_fwd.hpp index 8ff618063d..2cc5583019 100644 --- a/3party/boost/boost/log/attributes/value_extraction_fwd.hpp +++ b/3party/boost/boost/log/attributes/value_extraction_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/attributes/fallback_policy_fwd.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/attributes/value_visitation.hpp b/3party/boost/boost/log/attributes/value_visitation.hpp index 7e5000fd64..6a8205fcf3 100644 --- a/3party/boost/boost/log/attributes/value_visitation.hpp +++ b/3party/boost/boost/log/attributes/value_visitation.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,11 +26,11 @@ #include <boost/log/attributes/value_visitation_fwd.hpp> #include <boost/log/attributes/fallback_policy.hpp> #include <boost/log/expressions/keyword_fwd.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/utility/type_dispatch/static_type_dispatcher.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -71,7 +71,7 @@ public: * * \return \c true if the value was visited successfully, \c false otherwise. */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Checks if the visitation was unsuccessful. * @@ -115,7 +115,7 @@ public: /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(value_visitor_invoker(), {}) + BOOST_DEFAULTED_FUNCTION(value_visitor_invoker(), {}) /*! * Copy constructor diff --git a/3party/boost/boost/log/attributes/value_visitation_fwd.hpp b/3party/boost/boost/log/attributes/value_visitation_fwd.hpp index 6313b88013..5917c22a95 100644 --- a/3party/boost/boost/log/attributes/value_visitation_fwd.hpp +++ b/3party/boost/boost/log/attributes/value_visitation_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/attributes/fallback_policy_fwd.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/common.hpp b/3party/boost/boost/log/common.hpp index 8c4f728a0c..bc62893d8b 100644 --- a/3party/boost/boost/log/common.hpp +++ b/3party/boost/boost/log/common.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -34,7 +34,7 @@ #include <boost/log/attributes/named_scope.hpp> #include <boost/log/attributes/scoped_attribute.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/core.hpp b/3party/boost/boost/log/core.hpp index 3473c2cab9..159e5b9177 100644 --- a/3party/boost/boost/log/core.hpp +++ b/3party/boost/boost/log/core.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/core/record.hpp> #include <boost/log/core/record_view.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/core/core.hpp b/3party/boost/boost/log/core/core.hpp index ee927d56e1..e3475299c4 100644 --- a/3party/boost/boost/log/core/core.hpp +++ b/3party/boost/boost/log/core/core.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,7 +16,7 @@ #define BOOST_LOG_CORE_CORE_HPP_INCLUDED_ #include <utility> -#include <boost/shared_ptr.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> #include <boost/move/core.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/light_function.hpp> @@ -28,7 +28,7 @@ #include <boost/log/expressions/filter.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -288,7 +288,7 @@ public: * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may * throw if one of the sinks throws, or some system resource limitation is reached. */ - BOOST_LOG_FORCEINLINE record open_record(BOOST_RV_REF(attribute_value_set) source_attributes) + BOOST_FORCEINLINE record open_record(BOOST_RV_REF(attribute_value_set) source_attributes) { return open_record_move(static_cast< attribute_value_set& >(source_attributes)); } @@ -303,13 +303,13 @@ public: * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may * throw if one of the sinks throws. */ - BOOST_LOG_FORCEINLINE void push_record(BOOST_RV_REF(record) rec) + BOOST_FORCEINLINE void push_record(BOOST_RV_REF(record) rec) { push_record_move(static_cast< record& >(rec)); } - BOOST_LOG_DELETED_FUNCTION(core(core const&)) - BOOST_LOG_DELETED_FUNCTION(core& operator= (core const&)) + BOOST_DELETED_FUNCTION(core(core const&)) + BOOST_DELETED_FUNCTION(core& operator= (core const&)) #ifndef BOOST_LOG_DOXYGEN_PASS private: diff --git a/3party/boost/boost/log/core/record.hpp b/3party/boost/boost/log/core/record.hpp index 17ab8a9d56..758e44aadb 100644 --- a/3party/boost/boost/log/core/record.hpp +++ b/3party/boost/boost/log/core/record.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,13 +17,13 @@ #include <boost/move/core.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/attributes/attribute_value_set.hpp> #include <boost/log/expressions/keyword_fwd.hpp> #include <boost/log/core/record_view.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -115,7 +115,7 @@ public: * * \return \c true, if the <tt>*this</tt> identifies a log record, \c false, if the <tt>*this</tt> is not valid */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Inverted conversion to an unspecified boolean type @@ -158,6 +158,17 @@ public: /*! * Attribute value lookup. * + * \param name Attribute name. + * \return An \c attribute_value, non-empty if it is found, empty otherwise. + */ + attribute_value_set::mapped_type operator[] (attribute_value_set::key_type name) const + { + return m_impl->m_attribute_values[name]; + } + + /*! + * Attribute value lookup. + * * \param keyword Attribute keyword. * \return A \c value_ref with extracted attribute value if it is found, empty \c value_ref otherwise. */ diff --git a/3party/boost/boost/log/core/record_view.hpp b/3party/boost/boost/log/core/record_view.hpp index 717faa43c0..58f2a1b778 100644 --- a/3party/boost/boost/log/core/record_view.hpp +++ b/3party/boost/boost/log/core/record_view.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,10 +15,10 @@ #ifndef BOOST_LOG_CORE_RECORD_VIEW_HPP_INCLUDED_ #define BOOST_LOG_CORE_RECORD_VIEW_HPP_INCLUDED_ -#include <boost/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/move/core.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/attributes/attribute_value_set.hpp> #include <boost/log/expressions/keyword_fwd.hpp> #ifndef BOOST_LOG_NO_THREADS @@ -26,7 +26,7 @@ #endif // BOOST_LOG_NO_THREADS #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -85,8 +85,8 @@ private: protected: ~public_data() {} - BOOST_LOG_DELETED_FUNCTION(public_data(public_data const&)) - BOOST_LOG_DELETED_FUNCTION(public_data& operator= (public_data const&)) + BOOST_DELETED_FUNCTION(public_data(public_data const&)) + BOOST_DELETED_FUNCTION(public_data& operator= (public_data const&)) friend void intrusive_ptr_add_ref(const public_data* p) { ++p->m_ref_counter; } friend void intrusive_ptr_release(const public_data* p) { if (--p->m_ref_counter == 0) public_data::destroy(p); } @@ -108,7 +108,7 @@ public: * * \post <tt>!*this == true</tt> */ - BOOST_LOG_DEFAULTED_FUNCTION(record_view(), {}) + BOOST_DEFAULTED_FUNCTION(record_view(), {}) /*! * Copy constructor @@ -184,7 +184,7 @@ public: * * \return \c true, if the <tt>*this</tt> identifies a log record, \c false, if the <tt>*this</tt> is not valid */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Inverted conversion to an unspecified boolean type @@ -221,6 +221,17 @@ public: /*! * Attribute value lookup. * + * \param name Attribute name. + * \return An \c attribute_value, non-empty if it is found, empty otherwise. + */ + attribute_value_set::mapped_type operator[] (attribute_value_set::key_type name) const + { + return m_impl->m_attribute_values[name]; + } + + /*! + * Attribute value lookup. + * * \param keyword Attribute keyword. * \return A \c value_ref with extracted attribute value if it is found, empty \c value_ref otherwise. */ diff --git a/3party/boost/boost/log/detail/alignas.hpp b/3party/boost/boost/log/detail/alignas.hpp deleted file mode 100644 index f150c1e697..0000000000 --- a/3party/boost/boost/log/detail/alignas.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Andrey Semashev 2007 - 2013. - * 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 alignas.hpp - * \author Andrey Semashev - * \date 06.07.2012 - * - * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. - */ - -#ifndef BOOST_LOG_DETAIL_ALIGNAS_HPP_INCLUDED_ -#define BOOST_LOG_DETAIL_ALIGNAS_HPP_INCLUDED_ - -#include <boost/log/detail/config.hpp> - -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE -#pragma once -#endif - -// The macro allows to specify type or variable alignment -#if defined(_MSC_VER) -#define BOOST_LOG_ALIGNAS(x) __declspec(align(x)) -#elif defined(BOOST_CLANG) -#if __has_feature(cxx_alignas) || __has_extension(cxx_alignas) -#define BOOST_LOG_ALIGNAS(x) alignas(x) -#endif -#elif defined(__GNUC__) -#if defined(__GXX_EXPERIMENTAL_CXX0X__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) -#define BOOST_LOG_ALIGNAS(x) alignas(x) -#else -#define BOOST_LOG_ALIGNAS(x) __attribute__((__aligned__(x))) -#endif -#endif - -#if !defined(BOOST_LOG_ALIGNAS) -#define BOOST_LOG_NO_ALIGNAS 1 -#define BOOST_LOG_ALIGNAS(x) -#endif - -#endif // BOOST_LOG_DETAIL_ALIGNAS_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/detail/asio_fwd.hpp b/3party/boost/boost/log/detail/asio_fwd.hpp index 4b27d99737..e284c24eed 100644 --- a/3party/boost/boost/log/detail/asio_fwd.hpp +++ b/3party/boost/boost/log/detail/asio_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 20.04.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. * * The header provides forward declarations of Boost.ASIO that are required for the user's * code to compile with Boost.Log. The forward declarations allow to avoid including the major @@ -22,7 +22,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/attachable_sstream_buf.hpp b/3party/boost/boost/log/detail/attachable_sstream_buf.hpp index acc439fdb2..9b0a05316d 100644 --- a/3party/boost/boost/log/detail/attachable_sstream_buf.hpp +++ b/3party/boost/boost/log/detail/attachable_sstream_buf.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 29.07.2007 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_ATTACHABLE_SSTREAM_BUF_HPP_INCLUDED_ @@ -24,7 +24,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -82,8 +82,8 @@ public: //! Clears the buffer to the initial state void clear() { - register char_type* pBase = this->pbase(); - register char_type* pPtr = this->pptr(); + char_type* pBase = this->pbase(); + char_type* pPtr = this->pptr(); if (pBase != pPtr) this->pbump(static_cast< int >(pBase - pPtr)); } @@ -113,8 +113,8 @@ protected: int sync() { BOOST_ASSERT(m_Storage != 0); - register char_type* pBase = this->pbase(); - register char_type* pPtr = this->pptr(); + char_type* pBase = this->pbase(); + char_type* pPtr = this->pptr(); if (pBase != pPtr) { m_Storage->append(pBase, pPtr); @@ -141,7 +141,7 @@ protected: BOOST_ASSERT(m_Storage != 0); basic_ostringstreambuf::sync(); typedef typename string_type::size_type string_size_type; - register const string_size_type max_storage_left = + const string_size_type max_storage_left = m_Storage->max_size() - m_Storage->size(); if (static_cast< string_size_type >(n) < max_storage_left) { @@ -156,9 +156,9 @@ protected: } //! Copy constructor (closed) - BOOST_LOG_DELETED_FUNCTION(basic_ostringstreambuf(basic_ostringstreambuf const& that)) + BOOST_DELETED_FUNCTION(basic_ostringstreambuf(basic_ostringstreambuf const& that)) //! Assignment (closed) - BOOST_LOG_DELETED_FUNCTION(basic_ostringstreambuf& operator= (basic_ostringstreambuf const& that)) + BOOST_DELETED_FUNCTION(basic_ostringstreambuf& operator= (basic_ostringstreambuf const& that)) }; } // namespace aux diff --git a/3party/boost/boost/log/detail/attr_output_impl.hpp b/3party/boost/boost/log/detail/attr_output_impl.hpp index 751d07975b..8f00736c5f 100644 --- a/3party/boost/boost/log/detail/attr_output_impl.hpp +++ b/3party/boost/boost/log/detail/attr_output_impl.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 12.08.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_ATTR_OUTPUT_IMPL_HPP_INCLUDED_ @@ -24,7 +24,7 @@ #include <boost/log/detail/attr_output_terminal.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -44,7 +44,7 @@ struct make_output_expression //! Creates the output expression template< typename RightT > - static BOOST_LOG_FORCEINLINE type make(LeftT const& left, RightT const& right) + static BOOST_FORCEINLINE type make(LeftT const& left, RightT const& right) { return type(left, right.get_name(), to_log_fun< TagT >(), right.get_fallback_policy()); } @@ -65,7 +65,7 @@ struct make_output_actor< ActorT< LeftExprT >, RightT, ValueT, false > typedef ActorT< typename make_expression::type > type; - static BOOST_LOG_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right) + static BOOST_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right) { type res = {{ make_expression::make(left, right) }}; return res; @@ -79,7 +79,7 @@ struct make_output_actor< ActorT< LeftExprT >, RightT, ValueT, true > typedef ActorT< expression_type > type; - static BOOST_LOG_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right) + static BOOST_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right) { type res = {{ expression_type(left, right.get_name(), to_log_fun< typename RightT::tag_type >(), right.get_fallback_policy()) }}; return res; @@ -90,7 +90,7 @@ struct make_output_actor< ActorT< LeftExprT >, RightT, ValueT, true > #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename T, typename FallbackPolicyT, typename TagT >\ - BOOST_LOG_FORCEINLINE typename aux::make_output_actor< phoenix::actor< LeftExprT >, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > >::type\ + BOOST_FORCEINLINE typename aux::make_output_actor< phoenix::actor< LeftExprT >, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > >::type\ operator<< (phoenix::actor< LeftExprT > left_ref left, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > right_ref right)\ {\ return aux::make_output_actor< phoenix::actor< LeftExprT >, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > >::make(left, right);\ diff --git a/3party/boost/boost/log/detail/attr_output_terminal.hpp b/3party/boost/boost/log/detail/attr_output_terminal.hpp index a87162ee24..574993aace 100644 --- a/3party/boost/boost/log/detail/attr_output_terminal.hpp +++ b/3party/boost/boost/log/detail/attr_output_terminal.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -31,7 +31,7 @@ #include <boost/log/utility/functional/bind.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -63,8 +63,8 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; typedef typename phoenix::evaluator::impl< @@ -74,17 +74,6 @@ public: >::result_type type; }; - template< typename ContextT > - struct result< const this_type(ContextT) > - { - typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; - typedef typename phoenix::evaluator::impl< - typename LeftT::proto_base_expr const&, - context_type, - phoenix::unused - >::result_type type; - }; - private: //! Left argument actor LeftT m_left; @@ -139,7 +128,7 @@ public: return strm; } - BOOST_LOG_DELETED_FUNCTION(attribute_output_terminal()) + BOOST_DELETED_FUNCTION(attribute_output_terminal()) }; } // namespace aux diff --git a/3party/boost/boost/log/detail/attribute_get_value_impl.hpp b/3party/boost/boost/log/detail/attribute_get_value_impl.hpp index 40ca678d92..2058d65242 100644 --- a/3party/boost/boost/log/detail/attribute_get_value_impl.hpp +++ b/3party/boost/boost/log/detail/attribute_get_value_impl.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 04.08.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_ATTRIBUTE_GET_VALUE_IMPL_HPP_INCLUDED_ @@ -21,7 +21,7 @@ #include <boost/log/attributes/attribute_value.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/attribute_predicate.hpp b/3party/boost/boost/log/detail/attribute_predicate.hpp index 420138cc7a..a0978632a2 100644 --- a/3party/boost/boost/log/detail/attribute_predicate.hpp +++ b/3party/boost/boost/log/detail/attribute_predicate.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -25,7 +25,7 @@ #include <boost/log/utility/functional/save_result.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/cleanup_scope_guard.hpp b/3party/boost/boost/log/detail/cleanup_scope_guard.hpp index 695300e091..dd2c0e170a 100644 --- a/3party/boost/boost/log/detail/cleanup_scope_guard.hpp +++ b/3party/boost/boost/log/detail/cleanup_scope_guard.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 11.03.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_CLEANUP_SCOPE_GUARD_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -37,8 +37,8 @@ struct cleanup_guard ~cleanup_guard() { m_Obj.clear(); } // Copying prohibited - BOOST_LOG_DELETED_FUNCTION(cleanup_guard(cleanup_guard const&)) - BOOST_LOG_DELETED_FUNCTION(cleanup_guard& operator= (cleanup_guard const&)) + BOOST_DELETED_FUNCTION(cleanup_guard(cleanup_guard const&)) + BOOST_DELETED_FUNCTION(cleanup_guard& operator= (cleanup_guard const&)) private: T& m_Obj; diff --git a/3party/boost/boost/log/detail/code_conversion.hpp b/3party/boost/boost/log/detail/code_conversion.hpp index 1c65f4e3e3..d49988bc21 100644 --- a/3party/boost/boost/log/detail/code_conversion.hpp +++ b/3party/boost/boost/log/detail/code_conversion.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.11.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_CODE_CONVERSION_HPP_INCLUDED_ @@ -21,7 +21,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/config.hpp b/3party/boost/boost/log/detail/config.hpp index 342087a8b1..4d1e66b73c 100644 --- a/3party/boost/boost/log/detail/config.hpp +++ b/3party/boost/boost/log/detail/config.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.03.2007 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. In this file + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file * internal configuration macros are defined. */ @@ -30,6 +30,14 @@ # error Boost.Log: RTTI is required by the library #endif +#if defined(_MSC_VER) && _MSC_VER >= 1600 +# define BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH +#endif + +#if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH) +#include <boost/preprocessor/stringize.hpp> +#endif + #if !defined(BOOST_WINDOWS) # ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT # define BOOST_LOG_WITHOUT_DEBUG_OUTPUT @@ -39,11 +47,7 @@ # endif #endif -#if (defined(_MSC_VER) && (_MSC_VER >= 1020)) || defined(__GNUC__) || defined(BOOST_CLANG) || defined(BOOST_INTEL) || defined(__COMO__) || defined(__DMC__) -# define BOOST_LOG_HAS_PRAGMA_ONCE -#endif - -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -57,8 +61,8 @@ # define BOOST_LOG_BROKEN_TEMPLATE_DEFINITION_MATCHING # endif # if _MSC_VER <= 1400 - // Older MSVC versions reject friend declarations for class template instantiations -# define BOOST_LOG_BROKEN_FRIEND_TEMPLATE_INSTANTIATIONS + // Older MSVC versions reject friend declarations for class template specializations +# define BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS # endif # if _MSC_VER <= 1600 // MSVC up to 10.0 attempts to invoke copy constructor when initializing a const reference from rvalue returned from a function. @@ -82,8 +86,8 @@ # endif #endif -#if defined(BOOST_INTEL) - // Intel compiler has problems with friend declarations for member classes +#if defined(BOOST_INTEL) || defined(__SUNPRO_CC) + // Intel compiler and Sun Studio 12.3 have problems with friend declarations for nested class templates # define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS #endif @@ -103,16 +107,6 @@ # endif #endif -#if (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG) - // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it -# define BOOST_LOG_NO_UNSPECIFIED_BOOL -#endif // (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG) - -#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) - // GCC 4.0.0 (and probably older) can't cope with some optimizations regarding string literals -# define BOOST_LOG_BROKEN_STRING_LITERALS -#endif - #if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 2) // GCC 4.1 and 4.2 have buggy anonymous namespaces support, which interferes with symbol linkage # define BOOST_LOG_ANONYMOUS_NAMESPACE namespace anonymous {} using namespace anonymous; namespace anonymous @@ -120,39 +114,11 @@ # define BOOST_LOG_ANONYMOUS_NAMESPACE namespace #endif -#define BOOST_LOG_NO_TRAILING_RESULT_TYPE -#define BOOST_LOG_NO_INLINE_NAMESPACES - -#if defined(BOOST_CLANG) -# if __has_feature(cxx_trailing_return) -# undef BOOST_LOG_NO_TRAILING_RESULT_TYPE -# endif -# if __has_feature(cxx_inline_namespaces) -# undef BOOST_LOG_NO_INLINE_NAMESPACES -# endif -#elif defined(__GNUC__) && defined(__GXX_EXPERIMENTAL_CXX0X__) -# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) -# undef BOOST_LOG_NO_TRAILING_RESULT_TYPE -# undef BOOST_LOG_NO_INLINE_NAMESPACES -# endif -#endif - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || (defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 6)) // GCC up to 4.6 (inclusively) did not support expanding template argument packs into non-variadic template arguments #define BOOST_LOG_NO_CXX11_ARG_PACKS_TO_NON_VARIADIC_ARGS_EXPANSION #endif -// Extended declaration macros. Used to implement compiler-specific optimizations. -#if defined(BOOST_FORCEINLINE) -# define BOOST_LOG_FORCEINLINE BOOST_FORCEINLINE -#elif defined(_MSC_VER) -# define BOOST_LOG_FORCEINLINE __forceinline -#elif defined(__GNUC__) && (__GNUC__ > 3) -# define BOOST_LOG_FORCEINLINE inline __attribute__((always_inline)) -#else -# define BOOST_LOG_FORCEINLINE inline -#endif - #if defined(_MSC_VER) # define BOOST_LOG_NO_VTABLE __declspec(novtable) #elif defined(__GNUC__) @@ -182,11 +148,14 @@ #endif #if !defined(BOOST_LOG_UNREACHABLE) # define BOOST_LOG_UNREACHABLE() +# define BOOST_LOG_UNREACHABLE_RETURN(r) return r +#else +# define BOOST_LOG_UNREACHABLE_RETURN(r) BOOST_LOG_UNREACHABLE() #endif // Some compilers support a special attribute that shows that a function won't return #if defined(__GNUC__) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590) - // GCC and (supposedly) Sun Studio 12 support attribute syntax + // GCC and Sun Studio 12 support attribute syntax # define BOOST_LOG_NORETURN __attribute__((noreturn)) #elif defined (_MSC_VER) // Microsoft-compatible compilers go here @@ -197,23 +166,6 @@ # define BOOST_LOG_NORETURN #endif -// cxxabi.h availability macro -#if defined(BOOST_CLANG) -# if defined(__has_include) && __has_include(<cxxabi.h>) -# define BOOST_LOG_HAS_CXXABI_H -# endif -#elif defined(__GNUC__) && !defined(__QNX__) -# define BOOST_LOG_HAS_CXXABI_H -#endif - -#if defined(BOOST_SYMBOL_VISIBLE) -# define BOOST_LOG_VISIBLE BOOST_SYMBOL_VISIBLE -#elif defined(__GNUC__) && (__GNUC__ >= 4) -# define BOOST_LOG_VISIBLE __attribute__((visibility("default"))) -#else -# define BOOST_LOG_VISIBLE -#endif - #if !defined(BOOST_LOG_BUILDING_THE_LIB) // Detect if we're dealing with dll @@ -269,7 +221,7 @@ # endif # endif # ifndef BOOST_LOG_API -# define BOOST_LOG_API BOOST_LOG_VISIBLE +# define BOOST_LOG_API BOOST_SYMBOL_VISIBLE # endif #endif // !defined(BOOST_LOG_BUILDING_THE_LIB) @@ -312,21 +264,9 @@ # endif #endif // defined(BOOST_LOG_USE_COMPILER_TLS) -#if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) - // GCC 4.5 forbids declaration of defaulted functions in private or protected sections -# define BOOST_LOG_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -#if defined(BOOST_LOG_DOXYGEN_PASS) || !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_LOG_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)) -# define BOOST_LOG_DEFAULTED_FUNCTION(fun, body) fun = default; -#else -# define BOOST_LOG_DEFAULTED_FUNCTION(fun, body) fun body -#endif - -#if defined(BOOST_LOG_DOXYGEN_PASS) || !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) -# define BOOST_LOG_DELETED_FUNCTION(fun) fun = delete; -#else -# define BOOST_LOG_DELETED_FUNCTION(fun) private: fun; +#ifndef BOOST_LOG_CPU_CACHE_LINE_SIZE +//! The macro defines the CPU cache line size for the target architecture. This is mostly used for optimization. +#define BOOST_LOG_CPU_CACHE_LINE_SIZE 64 #endif namespace boost { @@ -370,7 +310,7 @@ namespace boost { namespace log { -# if !defined(BOOST_LOG_NO_INLINE_NAMESPACES) +# if !defined(BOOST_NO_CXX11_INLINE_NAMESPACES) inline namespace BOOST_LOG_VERSION_NAMESPACE {} } @@ -383,7 +323,7 @@ inline namespace BOOST_LOG_VERSION_NAMESPACE {} namespace BOOST_LOG_VERSION_NAMESPACE {} using namespace BOOST_LOG_VERSION_NAMESPACE -# if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && !defined(__clang__) __attribute__((__strong__)) # endif ; @@ -402,6 +342,10 @@ namespace log {} #endif // !defined(BOOST_LOG_DOXYGEN_PASS) +#if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH) +#pragma detect_mismatch("boost_log_abi", BOOST_PP_STRINGIZE(BOOST_LOG_VERSION_NAMESPACE)) +#endif + } // namespace boost #endif // BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/detail/copy_cv.hpp b/3party/boost/boost/log/detail/copy_cv.hpp new file mode 100644 index 0000000000..a6a4ebae04 --- /dev/null +++ b/3party/boost/boost/log/detail/copy_cv.hpp @@ -0,0 +1,64 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 copy_cv.hpp + * \author Andrey Semashev + * \date 16.03.2014 + * + * The header defines \c copy_cv type trait which copies const/volatile qualifiers from one type to another + */ + +#ifndef BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_ +#define BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_ + +#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 aux { + +//! The type trait copies top level const/volatile qualifiers from \c FromT to \c ToT +template< typename FromT, typename ToT > +struct copy_cv +{ + typedef ToT type; +}; + +template< typename FromT, typename ToT > +struct copy_cv< const FromT, ToT > +{ + typedef const ToT type; +}; + +template< typename FromT, typename ToT > +struct copy_cv< volatile FromT, ToT > +{ + typedef volatile ToT type; +}; + +template< typename FromT, typename ToT > +struct copy_cv< const volatile FromT, ToT > +{ + typedef const volatile ToT type; +}; + +} // namespace aux + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#include <boost/log/detail/footer.hpp> + +#endif // BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/detail/custom_terminal_spec.hpp b/3party/boost/boost/log/detail/custom_terminal_spec.hpp index 6d4d7bb997..fb43357b00 100644 --- a/3party/boost/boost/log/detail/custom_terminal_spec.hpp +++ b/3party/boost/boost/log/detail/custom_terminal_spec.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -25,7 +25,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp b/3party/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp index 0dca8ba13e..a80930b2ae 100644 --- a/3party/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp +++ b/3party/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 07.11.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_DATE_TIME_FMT_GEN_TRAITS_FWD_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/date_time_format_parser.hpp b/3party/boost/boost/log/detail/date_time_format_parser.hpp index 3aaac6243d..7b82d5556a 100644 --- a/3party/boost/boost/log/detail/date_time_format_parser.hpp +++ b/3party/boost/boost/log/detail/date_time_format_parser.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/decomposed_time.hpp b/3party/boost/boost/log/detail/decomposed_time.hpp index fe30cab7e6..24f7546533 100644 --- a/3party/boost/boost/log/detail/decomposed_time.hpp +++ b/3party/boost/boost/log/detail/decomposed_time.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 07.11.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_DECOMPOSED_TIME_HPP_INCLUDED_ @@ -28,7 +28,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -100,7 +100,7 @@ struct decomposed_time_wrapper : typedef T value_type; value_type m_time; - BOOST_LOG_DEFAULTED_FUNCTION(decomposed_time_wrapper(), {}) + BOOST_DEFAULTED_FUNCTION(decomposed_time_wrapper(), {}) explicit decomposed_time_wrapper(value_type const& time) : m_time(time) { @@ -144,8 +144,8 @@ public: { } - BOOST_LOG_DELETED_FUNCTION(context(context const&)) - BOOST_LOG_DELETED_FUNCTION(context& operator=(context const&)) + BOOST_DELETED_FUNCTION(context(context const&)) + BOOST_DELETED_FUNCTION(context& operator=(context const&)) }; private: @@ -159,7 +159,7 @@ protected: string_type m_literal_chars; public: - BOOST_LOG_DEFAULTED_FUNCTION(date_time_formatter(), {}) + BOOST_DEFAULTED_FUNCTION(date_time_formatter(), {}) date_time_formatter(date_time_formatter const& that) : m_formatters(that.m_formatters), m_literal_lens(that.m_literal_lens), @@ -203,7 +203,7 @@ public: void swap(date_time_formatter& that) { m_formatters.swap(that.m_formatters); - m_literal_lens.swap(that.m_literals); + m_literal_lens.swap(that.m_literal_lens); m_literal_chars.swap(that.m_literal_chars); } diff --git a/3party/boost/boost/log/detail/deduce_char_type.hpp b/3party/boost/boost/log/detail/deduce_char_type.hpp index 098809c71b..cb024609e9 100644 --- a/3party/boost/boost/log/detail/deduce_char_type.hpp +++ b/3party/boost/boost/log/detail/deduce_char_type.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 17.11.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_DEDUCE_CHAR_TYPE_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/default_attribute_names.hpp b/3party/boost/boost/log/detail/default_attribute_names.hpp index 3aeeb21d99..c1fddd36e3 100644 --- a/3party/boost/boost/log/detail/default_attribute_names.hpp +++ b/3party/boost/boost/log/detail/default_attribute_names.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 15.01.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_DEFAULT_ATTRIBUTE_NAMES_HPP_INCLUDED_ @@ -20,7 +20,7 @@ #include <boost/log/attributes/attribute_name.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/embedded_string_type.hpp b/3party/boost/boost/log/detail/embedded_string_type.hpp index 4fb58a83ba..091dce205b 100644 --- a/3party/boost/boost/log/detail/embedded_string_type.hpp +++ b/3party/boost/boost/log/detail/embedded_string_type.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 16.08.2009 * * This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_EMBEDDED_STRING_TYPE_HPP_INCLUDED_ @@ -21,7 +21,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/enqueued_record.hpp b/3party/boost/boost/log/detail/enqueued_record.hpp new file mode 100644 index 0000000000..11aaf186f5 --- /dev/null +++ b/3party/boost/boost/log/detail/enqueued_record.hpp @@ -0,0 +1,103 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 enqueued_record.hpp + * \author Andrey Semashev + * \date 01.04.2014 + * + * \brief This header is the Boost.Log library implementation, see the library documentation + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file + * internal configuration macros are defined. + */ + +#ifndef BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_ +#define BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_ + +#include <boost/move/core.hpp> +#include <boost/move/utility.hpp> +#include <boost/log/detail/config.hpp> +#include <boost/log/detail/timestamp.hpp> +#include <boost/log/core/record_view.hpp> +#include <boost/log/detail/header.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace sinks { + +namespace aux { + +//! Log record with enqueueing timestamp +class enqueued_record +{ + BOOST_COPYABLE_AND_MOVABLE(enqueued_record) + +public: + //! Ordering predicate + template< typename OrderT > + struct order : + public OrderT + { + typedef typename OrderT::result_type result_type; + + order() {} + order(order const& that) : OrderT(static_cast< OrderT const& >(that)) {} + order(OrderT const& that) : OrderT(that) {} + + result_type operator() (enqueued_record const& left, enqueued_record const& right) const + { + // std::priority_queue requires ordering with semantics of std::greater, so we swap arguments + return OrderT::operator() (right.m_record, left.m_record); + } + }; + + boost::log::aux::timestamp m_timestamp; + record_view m_record; + + enqueued_record(enqueued_record const& that) : m_timestamp(that.m_timestamp), m_record(that.m_record) + { + } + enqueued_record(BOOST_RV_REF(enqueued_record) that) : + m_timestamp(that.m_timestamp), + m_record(boost::move(that.m_record)) + { + } + explicit enqueued_record(record_view const& rec) : + m_timestamp(boost::log::aux::get_timestamp()), + m_record(rec) + { + } + enqueued_record& operator= (BOOST_COPY_ASSIGN_REF(enqueued_record) that) + { + m_timestamp = that.m_timestamp; + m_record = that.m_record; + return *this; + } + enqueued_record& operator= (BOOST_RV_REF(enqueued_record) that) + { + m_timestamp = that.m_timestamp; + m_record = boost::move(that.m_record); + return *this; + } +}; + +} // namespace aux + +} // namespace sinks + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#include <boost/log/detail/footer.hpp> + +#endif // BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/detail/event.hpp b/3party/boost/boost/log/detail/event.hpp index 7ee9131b1e..741ab3c9bd 100644 --- a/3party/boost/boost/log/detail/event.hpp +++ b/3party/boost/boost/log/detail/event.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,7 +15,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -67,10 +67,9 @@ public: //! Sets the object to a signalled state BOOST_LOG_API void set_signalled(); -private: // Copying prohibited - sem_based_event(sem_based_event const&); - sem_based_event& operator= (sem_based_event const&); + BOOST_DELETED_FUNCTION(sem_based_event(sem_based_event const&)) + BOOST_DELETED_FUNCTION(sem_based_event& operator= (sem_based_event const&)) }; typedef sem_based_event event; @@ -94,10 +93,9 @@ public: //! Sets the object to a signalled state BOOST_LOG_API void set_signalled(); -private: // Copying prohibited - winapi_based_event(winapi_based_event const&); - winapi_based_event& operator= (winapi_based_event const&); + BOOST_DELETED_FUNCTION(winapi_based_event(winapi_based_event const&)) + BOOST_DELETED_FUNCTION(winapi_based_event& operator= (winapi_based_event const&)) }; typedef winapi_based_event event; @@ -122,10 +120,9 @@ public: //! Sets the object to a signalled state BOOST_LOG_API void set_signalled(); -private: // Copying prohibited - generic_event(generic_event const&); - generic_event& operator= (generic_event const&); + BOOST_DELETED_FUNCTION(generic_event(generic_event const&)) + BOOST_DELETED_FUNCTION(generic_event& operator= (generic_event const&)) }; typedef generic_event event; diff --git a/3party/boost/boost/log/detail/fake_mutex.hpp b/3party/boost/boost/log/detail/fake_mutex.hpp index dd70effd17..f21f961538 100644 --- a/3party/boost/boost/log/detail/fake_mutex.hpp +++ b/3party/boost/boost/log/detail/fake_mutex.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 31.07.2011 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -33,7 +33,7 @@ namespace aux { class fake_mutex { public: - BOOST_LOG_DEFAULTED_FUNCTION(fake_mutex(), {}) + BOOST_DEFAULTED_FUNCTION(fake_mutex(), {}) void lock() {} bool try_lock() { return true; } template< typename T > @@ -41,8 +41,8 @@ public: void unlock() {} // Copying prohibited - BOOST_LOG_DELETED_FUNCTION(fake_mutex(fake_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(fake_mutex& operator=(fake_mutex const&)) + BOOST_DELETED_FUNCTION(fake_mutex(fake_mutex const&)) + BOOST_DELETED_FUNCTION(fake_mutex& operator=(fake_mutex const&)) }; } // namespace aux diff --git a/3party/boost/boost/log/detail/footer.hpp b/3party/boost/boost/log/detail/footer.hpp index fce774692e..8208ebd33a 100644 --- a/3party/boost/boost/log/detail/footer.hpp +++ b/3party/boost/boost/log/detail/footer.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -8,7 +8,13 @@ #if !defined(BOOST_LOG_ENABLE_WARNINGS) #if defined(_MSC_VER) + #pragma warning(pop) + +#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 + +#pragma GCC diagnostic pop + #endif #endif // !defined(BOOST_LOG_ENABLE_WARNINGS) diff --git a/3party/boost/boost/log/detail/format.hpp b/3party/boost/boost/log/detail/format.hpp index 879d47b282..c8a02f2c76 100644 --- a/3party/boost/boost/log/detail/format.hpp +++ b/3party/boost/boost/log/detail/format.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 15.11.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_FORMAT_HPP_INCLUDED_ @@ -28,7 +28,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -87,7 +87,7 @@ public: //! Format element descriptors format_element_list format_elements; - BOOST_LOG_DEFAULTED_FUNCTION(format_description(), {}) + BOOST_DEFAULTED_FUNCTION(format_description(), {}) format_description(format_description const& that) : literal_chars(that.literal_chars), format_elements(that.format_elements) { @@ -113,14 +113,14 @@ BOOST_LOG_API format_description< CharT > parse_format(const CharT* begin, const //! Parses format string template< typename CharT > -BOOST_LOG_FORCEINLINE format_description< CharT > parse_format(const CharT* begin) +BOOST_FORCEINLINE format_description< CharT > parse_format(const CharT* begin) { return parse_format(begin, begin + std::char_traits< CharT >::length(begin)); } //! Parses format string template< typename CharT, typename TraitsT, typename AllocatorT > -BOOST_LOG_FORCEINLINE format_description< CharT > parse_format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt) +BOOST_FORCEINLINE format_description< CharT > parse_format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt) { const CharT* begin = fmt.c_str(); return parse_format(begin, begin + fmt.size()); diff --git a/3party/boost/boost/log/detail/function_traits.hpp b/3party/boost/boost/log/detail/function_traits.hpp index 78cdda688f..bd298fca30 100644 --- a/3party/boost/boost/log/detail/function_traits.hpp +++ b/3party/boost/boost/log/detail/function_traits.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 30.08.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_FUNCTION_TRAITS_HPP_INCLUDED_ @@ -35,7 +35,7 @@ #include <boost/function_types/is_nonmember_callable_builtin.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/generate_overloads.hpp b/3party/boost/boost/log/detail/generate_overloads.hpp index 186a6eb087..63b9edf081 100644 --- a/3party/boost/boost/log/detail/generate_overloads.hpp +++ b/3party/boost/boost/log/detail/generate_overloads.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) diff --git a/3party/boost/boost/log/detail/header.hpp b/3party/boost/boost/log/detail/header.hpp index a4b902198d..f7cf75d557 100644 --- a/3party/boost/boost/log/detail/header.hpp +++ b/3party/boost/boost/log/detail/header.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,6 +10,7 @@ #if !defined(BOOST_LOG_ENABLE_WARNINGS) #if defined(_MSC_VER) + #pragma warning(push, 3) // 'm_A' : class 'A' needs to have dll-interface to be used by clients of class 'B' #pragma warning(disable: 4251) @@ -35,6 +36,29 @@ #pragma warning(disable: 4610) // function marked as __forceinline not inlined #pragma warning(disable: 4714) +// decorated name length exceeded, name was truncated +#pragma warning(disable: 4503) +// declaration of 'A' hides previous local declaration +#pragma warning(disable: 4456) +// declaration of 'A' hides global declaration +#pragma warning(disable: 4459) + +#elif defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) \ + && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 + +#pragma GCC diagnostic push +// 'var' defined but not used +#pragma GCC diagnostic ignored "-Wunused-variable" +// unused parameter 'arg' +#pragma GCC diagnostic ignored "-Wunused-parameter" +// missing initializer for member var +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" + +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 +// typedef 'foo' locally defined but not used +#pragma GCC diagnostic ignored "-Wunused-local-typedefs" +#endif + #endif #endif // !defined(BOOST_LOG_ENABLE_WARNINGS) diff --git a/3party/boost/boost/log/detail/id.hpp b/3party/boost/boost/log/detail/id.hpp index db4afe10e0..2ca1e1e30d 100644 --- a/3party/boost/boost/log/detail/id.hpp +++ b/3party/boost/boost/log/detail/id.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.01.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_ID_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/intptr_t.hpp b/3party/boost/boost/log/detail/intptr_t.hpp deleted file mode 100644 index f5151c8d1f..0000000000 --- a/3party/boost/boost/log/detail/intptr_t.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright Andrey Semashev 2007 - 2013. - * 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 intptr_t.hpp - * \author Andrey Semashev - * \date 06.05.2013 - * - * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. - */ - -#ifndef BOOST_LOG_DETAIL_INTPTR_T_HPP_INCLUDED_ -#define BOOST_LOG_DETAIL_INTPTR_T_HPP_INCLUDED_ - -#include <boost/cstdint.hpp> -#include <boost/log/detail/config.hpp> -#include <boost/log/detail/header.hpp> - -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE -#pragma once -#endif - -namespace boost { - -BOOST_LOG_OPEN_NAMESPACE - -namespace aux { - -// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config. -#if !defined(__PGIC__) - -#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ - || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ - || defined(__CYGWIN__) \ - || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ - || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) - -typedef ::intptr_t intptr_t; -typedef ::uintptr_t uintptr_t; -#define BOOST_LOG_HAS_INTPTR_T - -#elif (defined(__GNUC__) || defined(__clang__)) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) - -typedef __INTPTR_TYPE__ intptr_t; -typedef __UINTPTR_TYPE__ uintptr_t; -#define BOOST_LOG_HAS_INTPTR_T - -#endif - -#endif - -} // namespace aux - -BOOST_LOG_CLOSE_NAMESPACE // namespace log - -} // namespace boost - -#include <boost/log/detail/footer.hpp> - -#endif // BOOST_LOG_DETAIL_INTPTR_T_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/detail/light_function.hpp b/3party/boost/boost/log/detail/light_function.hpp index e870615a85..325a5281d4 100644 --- a/3party/boost/boost/log/detail/light_function.hpp +++ b/3party/boost/boost/log/detail/light_function.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 20.06.2010 * * \brief This header is the Boost.Log library impl, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. * * The file contains a lightweight alternative of Boost.Function. It does not provide all * features of Boost.Function but doesn't introduce dependency on Boost.Bind. @@ -23,7 +23,7 @@ #include <boost/move/core.hpp> #include <boost/move/utility.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/type_traits/remove_cv.hpp> #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #include <boost/preprocessor/iteration/iterate.hpp> @@ -44,7 +44,7 @@ #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -75,18 +75,21 @@ public: private: struct impl_base { - typedef result_type (*invoke_type)(impl_base*, ArgsT...); + typedef result_type (*invoke_type)(void*, ArgsT...); const invoke_type invoke; - typedef impl_base* (*clone_type)(const impl_base*); + typedef impl_base* (*clone_type)(const void*); const clone_type clone; - typedef void (*destroy_type)(impl_base*); + typedef void (*destroy_type)(void*); const destroy_type destroy; impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr) { } + + BOOST_DELETED_FUNCTION(impl_base(impl_base const&)) + BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&)) }; #if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS) @@ -114,23 +117,26 @@ private: #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) explicit impl(FunT&& fun) : impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl), - m_Function(fun) + m_Function(boost::forward< FunT >(fun)) { } #endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - static void destroy_impl(impl_base* self) + static void destroy_impl(void* self) { - delete static_cast< impl* >(self); + delete static_cast< impl* >(static_cast< impl_base* >(self)); } - static impl_base* clone_impl(const impl_base* self) + static impl_base* clone_impl(const void* self) { - return new impl(static_cast< const impl* >(self)->m_Function); + return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function); } - static result_type invoke_impl(impl_base* self, ArgsT... args) + static result_type invoke_impl(void* self, ArgsT... args) { - return static_cast< impl* >(self)->m_Function(args...); + return static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(args...); } + + BOOST_DELETED_FUNCTION(impl(impl const&)) + BOOST_DELETED_FUNCTION(impl& operator= (impl const&)) }; private: @@ -244,7 +250,7 @@ public: return m_pImpl->invoke(m_pImpl, args...); } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); } bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); } void clear() BOOST_NOEXCEPT @@ -258,7 +264,7 @@ public: void swap(this_type& that) BOOST_NOEXCEPT { - register impl_base* p = m_pImpl; + impl_base* p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } @@ -276,18 +282,21 @@ public: private: struct impl_base { - typedef void (*invoke_type)(impl_base*, ArgsT...); + typedef void (*invoke_type)(void*, ArgsT...); const invoke_type invoke; - typedef impl_base* (*clone_type)(const impl_base*); + typedef impl_base* (*clone_type)(const void*); const clone_type clone; - typedef void (*destroy_type)(impl_base*); + typedef void (*destroy_type)(void*); const destroy_type destroy; impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr) { } + + BOOST_DELETED_FUNCTION(impl_base(impl_base const&)) + BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&)) }; #if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS) @@ -315,23 +324,26 @@ private: #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) explicit impl(FunT&& fun) : impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl), - m_Function(fun) + m_Function(boost::forward< FunT >(fun)) { } #endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - static void destroy_impl(impl_base* self) + static void destroy_impl(void* self) { - delete static_cast< impl* >(self); + delete static_cast< impl* >(static_cast< impl_base* >(self)); } - static impl_base* clone_impl(const impl_base* self) + static impl_base* clone_impl(const void* self) { - return new impl(static_cast< const impl* >(self)->m_Function); + return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function); } - static result_type invoke_impl(impl_base* self, ArgsT... args) + static result_type invoke_impl(void* self, ArgsT... args) { - static_cast< impl* >(self)->m_Function(args...); + static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(args...); } + + BOOST_DELETED_FUNCTION(impl(impl const&)) + BOOST_DELETED_FUNCTION(impl& operator= (impl const&)) }; private: @@ -444,7 +456,7 @@ public: m_pImpl->invoke(m_pImpl, args...); } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); } bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); } void clear() BOOST_NOEXCEPT @@ -458,7 +470,7 @@ public: void swap(this_type& that) BOOST_NOEXCEPT { - register impl_base* p = m_pImpl; + impl_base* p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } diff --git a/3party/boost/boost/log/detail/light_function_pp.hpp b/3party/boost/boost/log/detail/light_function_pp.hpp index d6aa2d4903..df7d29214d 100644 --- a/3party/boost/boost/log/detail/light_function_pp.hpp +++ b/3party/boost/boost/log/detail/light_function_pp.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,18 +20,21 @@ public: private: struct impl_base { - typedef result_type (*invoke_type)(impl_base* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT)); + typedef result_type (*invoke_type)(void* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT)); const invoke_type invoke; - typedef impl_base* (*clone_type)(const impl_base*); + typedef impl_base* (*clone_type)(const void*); const clone_type clone; - typedef void (*destroy_type)(impl_base*); + typedef void (*destroy_type)(void*); const destroy_type destroy; impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr) { } + + BOOST_DELETED_FUNCTION(impl_base(impl_base const&)) + BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&)) }; #if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS) @@ -59,23 +62,26 @@ private: #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) explicit impl(FunT&& fun) : impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl), - m_Function(fun) + m_Function(boost::forward< FunT >(fun)) { } #endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - static void destroy_impl(impl_base* self) + static void destroy_impl(void* self) { - delete static_cast< impl* >(self); + delete static_cast< impl* >(static_cast< impl_base* >(self)); } - static impl_base* clone_impl(const impl_base* self) + static impl_base* clone_impl(const void* self) { - return new impl(static_cast< const impl* >(self)->m_Function); + return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function); } - static result_type invoke_impl(impl_base* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) + static result_type invoke_impl(void* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) { - return static_cast< impl* >(self)->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)); + return static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)); } + + BOOST_DELETED_FUNCTION(impl(impl const&)) + BOOST_DELETED_FUNCTION(impl& operator= (impl const&)) }; private: @@ -189,7 +195,7 @@ public: return m_pImpl->invoke(m_pImpl BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), arg)); } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); } bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); } void clear() BOOST_NOEXCEPT @@ -203,7 +209,7 @@ public: void swap(this_type& that) BOOST_NOEXCEPT { - register impl_base* p = m_pImpl; + impl_base* p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } @@ -223,18 +229,21 @@ public: private: struct impl_base { - typedef void (*invoke_type)(impl_base* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT)); + typedef void (*invoke_type)(void* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT)); const invoke_type invoke; - typedef impl_base* (*clone_type)(const impl_base*); + typedef impl_base* (*clone_type)(const void*); const clone_type clone; - typedef void (*destroy_type)(impl_base*); + typedef void (*destroy_type)(void*); const destroy_type destroy; impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr) { } + + BOOST_DELETED_FUNCTION(impl_base(impl_base const&)) + BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&)) }; #if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS) @@ -262,23 +271,26 @@ private: #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) explicit impl(FunT&& fun) : impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl), - m_Function(fun) + m_Function(boost::forward< FunT >(fun)) { } #endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - static void destroy_impl(impl_base* self) + static void destroy_impl(void* self) { - delete static_cast< impl* >(self); + delete static_cast< impl* >(static_cast< impl_base* >(self)); } - static impl_base* clone_impl(const impl_base* self) + static impl_base* clone_impl(const void* self) { - return new impl(static_cast< const impl* >(self)->m_Function); + return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function); } - static result_type invoke_impl(impl_base* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) + static result_type invoke_impl(void* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) { - static_cast< impl* >(self)->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)); + static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)); } + + BOOST_DELETED_FUNCTION(impl(impl const&)) + BOOST_DELETED_FUNCTION(impl& operator= (impl const&)) }; private: @@ -391,7 +403,7 @@ public: m_pImpl->invoke(m_pImpl BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), arg)); } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); } bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); } void clear() BOOST_NOEXCEPT @@ -405,7 +417,7 @@ public: void swap(this_type& that) BOOST_NOEXCEPT { - register impl_base* p = m_pImpl; + impl_base* p = m_pImpl; m_pImpl = that.m_pImpl; that.m_pImpl = p; } diff --git a/3party/boost/boost/log/detail/light_rw_mutex.hpp b/3party/boost/boost/log/detail/light_rw_mutex.hpp index a6bad5af7d..abfef13972 100644 --- a/3party/boost/boost/log/detail/light_rw_mutex.hpp +++ b/3party/boost/boost/log/detail/light_rw_mutex.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 24.03.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_LIGHT_RW_MUTEX_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -105,8 +105,8 @@ public: } // Noncopyable - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) }; } // namespace aux @@ -157,8 +157,8 @@ public: } // Noncopyable - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) }; } // namespace aux @@ -189,8 +189,8 @@ public: BOOST_LOG_API void unlock(); // Noncopyable - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&)) + BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&)) }; } // namespace aux diff --git a/3party/boost/boost/log/detail/locking_ptr.hpp b/3party/boost/boost/log/detail/locking_ptr.hpp index 672189e7da..913780e98e 100644 --- a/3party/boost/boost/log/detail/locking_ptr.hpp +++ b/3party/boost/boost/log/detail/locking_ptr.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,18 +10,21 @@ * \date 15.07.2009 * * This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_LOCKING_PTR_HPP_INCLUDED_ #define BOOST_LOG_DETAIL_LOCKING_PTR_HPP_INCLUDED_ -#include <boost/shared_ptr.hpp> +#include <cstddef> +#include <boost/move/core.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/thread/lock_options.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -31,120 +34,108 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { - //! Shared lock object to support locking_ptr - struct BOOST_LOG_NO_VTABLE locking_ptr_counter_base +//! A pointer type that locks the backend until it's destroyed +template< typename T, typename LockableT > +class locking_ptr +{ + typedef locking_ptr this_type; + BOOST_COPYABLE_AND_MOVABLE_ALT(this_type) + +public: + //! Pointed type + typedef T element_type; + +private: + //! Lockable type + typedef LockableT lockable_type; + +private: + //! The pointer to the backend + shared_ptr< element_type > m_pElement; + //! Reference to the shared lock control object + lockable_type* m_pLock; + +public: + //! Default constructor + locking_ptr() BOOST_NOEXCEPT : m_pLock(NULL) { - unsigned int m_RefCounter; - - locking_ptr_counter_base() : m_RefCounter(0) - { - } - - virtual ~locking_ptr_counter_base() {} - virtual void lock() = 0; - virtual bool try_lock() = 0; - virtual void unlock() = 0; - - private: - locking_ptr_counter_base(locking_ptr_counter_base const&); - locking_ptr_counter_base& operator= (locking_ptr_counter_base const&); - }; - - struct try_lock_tag {}; - const try_lock_tag try_lock = {}; - - //! A pointer type that locks the backend until it's destroyed - template< typename T > - class locking_ptr + } + //! Constructor + locking_ptr(shared_ptr< element_type > const& p, lockable_type& l) : m_pElement(p), m_pLock(&l) { - public: - //! Pointed type - typedef T element_type; - - private: - //! The pointer to the backend - shared_ptr< element_type > m_pElement; - //! Reference to the shared lock control object - locking_ptr_counter_base* m_pLock; - - public: - //! Constructor - locking_ptr(shared_ptr< element_type > const& p, locking_ptr_counter_base& l) - : m_pElement(p), m_pLock(&l) - { - if (m_pLock->m_RefCounter == 0) - m_pLock->lock(); - ++m_pLock->m_RefCounter; - } - //! Constructor - locking_ptr(shared_ptr< element_type > const& p, locking_ptr_counter_base& l, try_lock_tag const&) - : m_pElement(p), m_pLock(&l) - { - if (m_pLock->m_RefCounter > 0 || m_pLock->try_lock()) - { - ++m_pLock->m_RefCounter; - } - else - { - m_pElement.reset(); - m_pLock = NULL; - } - } - //! Copy constructor - locking_ptr(locking_ptr const& that) : m_pElement(that.m_pElement), m_pLock(that.m_pLock) - { - if (m_pLock) - ++m_pLock->m_RefCounter; - } - //! Destructor - ~locking_ptr() + m_pLock->lock(); + } + //! Constructor + locking_ptr(shared_ptr< element_type > const& p, lockable_type& l, try_to_lock_t const&) : m_pElement(p), m_pLock(&l) + { + if (!m_pLock->try_lock()) { - if (m_pLock && --m_pLock->m_RefCounter == 0) - m_pLock->unlock(); + m_pElement.reset(); + m_pLock = NULL; } + } + //! Copy constructor + locking_ptr(locking_ptr const& that) : m_pElement(that.m_pElement), m_pLock(that.m_pLock) + { + if (m_pLock) + m_pLock->lock(); + } + //! Move constructor + locking_ptr(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT : m_pLock(that.m_pLock) + { + m_pElement.swap(that.m_pElement); + that.m_pLock = NULL; + } - //! Assignment - locking_ptr& operator= (locking_ptr that) - { - this->swap(that); - return *this; - } + //! Destructor + ~locking_ptr() + { + if (m_pLock) + m_pLock->unlock(); + } - //! Indirection - element_type* operator-> () const { return m_pElement.get(); } - //! Dereferencing - element_type& operator* () const { return *m_pElement; } + //! Assignment + locking_ptr& operator= (locking_ptr that) BOOST_NOEXCEPT + { + this->swap(that); + return *this; + } - //! Accessor to the raw pointer - element_type* get() const { return m_pElement.get(); } + //! Indirection + element_type* operator-> () const BOOST_NOEXCEPT { return m_pElement.get(); } + //! Dereferencing + element_type& operator* () const BOOST_NOEXCEPT { return *m_pElement; } - //! Checks for null pointer - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() - //! Checks for null pointer - bool operator! () const { return !m_pElement; } + //! Accessor to the raw pointer + element_type* get() const BOOST_NOEXCEPT { return m_pElement.get(); } - //! Swaps two pointers - void swap(locking_ptr& that) - { - m_pElement.swap(that.m_pElement); - register locking_ptr_counter_base* p = m_pLock; - m_pLock = that.m_pLock; - that.m_pLock = p; - } - }; + //! Checks for null pointer + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() + //! Checks for null pointer + bool operator! () const BOOST_NOEXCEPT { return !m_pElement; } - //! Free raw pointer getter to assist generic programming - template< typename T > - inline T* get_pointer(locking_ptr< T > const& p) - { - return p.get(); - } - //! Free swap operation - template< typename T > - inline void swap(locking_ptr< T >& left, locking_ptr< T >& right) + //! Swaps two pointers + void swap(locking_ptr& that) BOOST_NOEXCEPT { - left.swap(right); + m_pElement.swap(that.m_pElement); + lockable_type* p = m_pLock; + m_pLock = that.m_pLock; + that.m_pLock = p; } +}; + +//! Free raw pointer getter to assist generic programming +template< typename T, typename LockableT > +inline T* get_pointer(locking_ptr< T, LockableT > const& p) BOOST_NOEXCEPT +{ + return p.get(); +} +//! Free swap operation +template< typename T, typename LockableT > +inline void swap(locking_ptr< T, LockableT >& left, locking_ptr< T, LockableT >& right) BOOST_NOEXCEPT +{ + left.swap(right); +} } // namespace aux diff --git a/3party/boost/boost/log/detail/locks.hpp b/3party/boost/boost/log/detail/locks.hpp index 5d46e650d4..72b8945b26 100644 --- a/3party/boost/boost/log/detail/locks.hpp +++ b/3party/boost/boost/log/detail/locks.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 30.05.2010 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_LOCKS_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/named_scope_fmt_pp.hpp b/3party/boost/boost/log/detail/named_scope_fmt_pp.hpp index 00d743ad31..d9f0027f86 100644 --- a/3party/boost/boost/log/detail/named_scope_fmt_pp.hpp +++ b/3party/boost/boost/log/detail/named_scope_fmt_pp.hpp @@ -1,12 +1,12 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) */ template< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) > -BOOST_LOG_FORCEINLINE format_named_scope_actor< +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, typename boost::log::aux::deduce_char_type< typename parameter::binding< @@ -28,7 +28,7 @@ BOOST_LOG_FORCEINLINE format_named_scope_actor< } template< typename DescriptorT, template< typename > class ActorT, BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) > -BOOST_LOG_FORCEINLINE format_named_scope_actor< +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, typename boost::log::aux::deduce_char_type< typename parameter::binding< @@ -55,7 +55,7 @@ format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, BOOS } template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) > -BOOST_LOG_FORCEINLINE format_named_scope_actor< +BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, typename boost::log::aux::deduce_char_type< typename parameter::binding< diff --git a/3party/boost/boost/log/detail/native_typeof.hpp b/3party/boost/boost/log/detail/native_typeof.hpp index 98c8bf9d4d..276b2942e8 100644 --- a/3party/boost/boost/log/detail/native_typeof.hpp +++ b/3party/boost/boost/log/detail/native_typeof.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.03.2009 * * This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_NATIVE_TYPEOF_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/parameter_tools.hpp b/3party/boost/boost/log/detail/parameter_tools.hpp index a8df786e59..692a3377d3 100644 --- a/3party/boost/boost/log/detail/parameter_tools.hpp +++ b/3party/boost/boost/log/detail/parameter_tools.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 28.06.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_PARAMETER_TOOLS_HPP_INCLUDED_ @@ -26,7 +26,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/pp_identity.hpp b/3party/boost/boost/log/detail/pp_identity.hpp index ed73c97854..8daaf951b8 100644 --- a/3party/boost/boost/log/detail/pp_identity.hpp +++ b/3party/boost/boost/log/detail/pp_identity.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 12.02.2011 * * This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_PP_IDENTITY_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/process_id.hpp b/3party/boost/boost/log/detail/process_id.hpp index 634b4e468a..3532506c2a 100644 --- a/3party/boost/boost/log/detail/process_id.hpp +++ b/3party/boost/boost/log/detail/process_id.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 12.09.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_PROCESS_ID_HPP_INCLUDED_ @@ -21,7 +21,7 @@ #include <boost/log/detail/id.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/setup_config.hpp b/3party/boost/boost/log/detail/setup_config.hpp index 5cb2b5c412..11239592af 100644 --- a/3party/boost/boost/log/detail/setup_config.hpp +++ b/3party/boost/boost/log/detail/setup_config.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 14.09.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. In this file + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file * internal configuration macros are defined. */ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/singleton.hpp b/3party/boost/boost/log/detail/singleton.hpp index a5e9dde1b0..ac1ac1afe0 100644 --- a/3party/boost/boost/log/detail/singleton.hpp +++ b/3party/boost/boost/log/detail/singleton.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 20.04.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_SINGLETON_HPP_INCLUDED_ @@ -20,7 +20,7 @@ #include <boost/log/utility/once_block.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -35,7 +35,7 @@ template< typename DerivedT, typename StorageT = DerivedT > class lazy_singleton { public: - BOOST_LOG_DEFAULTED_FUNCTION(lazy_singleton(), {}) + BOOST_DEFAULTED_FUNCTION(lazy_singleton(), {}) //! Returns the singleton instance static StorageT& get() @@ -53,8 +53,8 @@ public: get_instance(); } - BOOST_LOG_DELETED_FUNCTION(lazy_singleton(lazy_singleton const&)) - BOOST_LOG_DELETED_FUNCTION(lazy_singleton& operator= (lazy_singleton const&)) + BOOST_DELETED_FUNCTION(lazy_singleton(lazy_singleton const&)) + BOOST_DELETED_FUNCTION(lazy_singleton& operator= (lazy_singleton const&)) protected: //! Returns the singleton instance (not thread-safe) diff --git a/3party/boost/boost/log/detail/sink_init_helpers.hpp b/3party/boost/boost/log/detail/sink_init_helpers.hpp index 1724f0b4b7..060aab7fc8 100644 --- a/3party/boost/boost/log/detail/sink_init_helpers.hpp +++ b/3party/boost/boost/log/detail/sink_init_helpers.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 14.03.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_SINK_INIT_HELPERS_HPP_INCLUDED_ @@ -32,7 +32,7 @@ #include <boost/log/keywords/format.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/snprintf.hpp b/3party/boost/boost/log/detail/snprintf.hpp index 759ff25cc8..29cc7d0e4c 100644 --- a/3party/boost/boost/log/detail/snprintf.hpp +++ b/3party/boost/boost/log/detail/snprintf.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,21 +10,22 @@ * \date 20.02.2009 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_SNPRINTF_HPP_INCLUDED_ #define BOOST_LOG_DETAIL_SNPRINTF_HPP_INCLUDED_ -#include <cstdio> +#include <stdio.h> +#include <cstddef> #include <cstdarg> #include <boost/log/detail/config.hpp> #ifdef BOOST_LOG_USE_WCHAR_T -#include <cwchar> +#include <wchar.h> #endif // BOOST_LOG_USE_WCHAR_T #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -67,7 +68,7 @@ inline int vswprintf(wchar_t* buf, std::size_t size, const wchar_t* format, std: // MSVC prior to 2005 had a non-conforming extension _vsnprintf, that sometimes did not put a terminating '\0' inline int vsnprintf(char* buf, std::size_t size, const char* format, std::va_list args) { - register int n = _vsnprintf(buf, size - 1, format, args); + int n = _vsnprintf(buf, size - 1, format, args); buf[size - 1] = '\0'; return n; } @@ -75,7 +76,7 @@ inline int vsnprintf(char* buf, std::size_t size, const char* format, std::va_li # ifdef BOOST_LOG_USE_WCHAR_T inline int vswprintf(wchar_t* buf, std::size_t size, const wchar_t* format, std::va_list args) { - register int n = _vsnwprintf(buf, size - 1, format, args); + int n = _vsnwprintf(buf, size - 1, format, args); buf[size - 1] = L'\0'; return n; } @@ -87,7 +88,7 @@ inline int snprintf(char* buf, std::size_t size, const char* format, ...) { std::va_list args; va_start(args, format); - register int n = vsnprintf(buf, size, format, args); + int n = vsnprintf(buf, size, format, args); va_end(args); return n; } @@ -97,7 +98,7 @@ inline int swprintf(wchar_t* buf, std::size_t size, const wchar_t* format, ...) { std::va_list args; va_start(args, format); - register int n = vswprintf(buf, size, format, args); + int n = vswprintf(buf, size, format, args); va_end(args); return n; } diff --git a/3party/boost/boost/log/detail/spin_mutex.hpp b/3party/boost/boost/log/detail/spin_mutex.hpp index 79722d10b2..727d6d1ade 100644 --- a/3party/boost/boost/log/detail/spin_mutex.hpp +++ b/3party/boost/boost/log/detail/spin_mutex.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 01.08.2010 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_SPIN_MUTEX_HPP_INCLUDED_ @@ -18,12 +18,15 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #ifndef BOOST_LOG_NO_THREADS +#include <boost/throw_exception.hpp> +#include <boost/thread/exceptions.hpp> + #if defined(BOOST_THREAD_POSIX) // This one can be defined by users, so it should go first #define BOOST_LOG_SPIN_MUTEX_USE_PTHREAD #elif defined(BOOST_WINDOWS) @@ -75,8 +78,8 @@ extern "C" void _mm_pause(void); # define BOOST_LOG_PAUSE_OP _mm_pause() # endif # if defined(__INTEL_COMPILER) -# define BOOST_LOG_COMPILER_BARRIER __asm { nop } -# elif _MSC_VER >= 1310 +# define BOOST_LOG_COMPILER_BARRIER __memory_barrier() +# else extern "C" void _ReadWriteBarrier(void); #pragma intrinsic(_ReadWriteBarrier) # define BOOST_LOG_COMPILER_BARRIER _ReadWriteBarrier() @@ -117,14 +120,14 @@ public: void lock() { #if defined(BOOST_LOG_PAUSE_OP) - register unsigned int pause_count = initial_pause; + unsigned int pause_count = initial_pause; #endif while (!try_lock()) { #if defined(BOOST_LOG_PAUSE_OP) if (pause_count < max_pause) { - for (register unsigned int i = 0; i < pause_count; ++i) + for (unsigned int i = 0; i < pause_count; ++i) { BOOST_LOG_PAUSE_OP; } @@ -154,8 +157,8 @@ public: } // Non-copyable - BOOST_LOG_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) }; #undef BOOST_LOG_PAUSE_OP @@ -192,28 +195,52 @@ private: public: spin_mutex() { - BOOST_VERIFY(pthread_spin_init(&m_State, PTHREAD_PROCESS_PRIVATE) == 0); + const int err = pthread_spin_init(&m_State, PTHREAD_PROCESS_PRIVATE); + if (err != 0) + throw_exception< thread_resource_error >(err, "failed to initialize a spin mutex", "spin_mutex::spin_mutex()", __FILE__, __LINE__); } + ~spin_mutex() { - pthread_spin_destroy(&m_State); + BOOST_VERIFY(pthread_spin_destroy(&m_State) == 0); } + bool try_lock() { - return (pthread_spin_trylock(&m_State) == 0); + const int err = pthread_spin_trylock(&m_State); + if (err == 0) + return true; + if (err != EBUSY) + throw_exception< lock_error >(err, "failed to lock a spin mutex", "spin_mutex::try_lock()", __FILE__, __LINE__); + return false; } + void lock() { - BOOST_VERIFY(pthread_spin_lock(&m_State) == 0); + const int err = pthread_spin_lock(&m_State); + if (err != 0) + throw_exception< lock_error >(err, "failed to lock a spin mutex", "spin_mutex::lock()", __FILE__, __LINE__); } + void unlock() { - pthread_spin_unlock(&m_State); + BOOST_VERIFY(pthread_spin_unlock(&m_State) == 0); } // Non-copyable - BOOST_LOG_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) + +private: + template< typename ExceptionT > + static BOOST_NOINLINE BOOST_LOG_NORETURN void throw_exception(int err, const char* descr, const char* func, const char* file, int line) + { +#if !defined(BOOST_EXCEPTION_DISABLE) + boost::exception_detail::throw_exception_(ExceptionT(err, descr), func, file, line); +#else + boost::throw_exception(ExceptionT(err, descr)); +#endif + } }; #else // defined(_POSIX_SPIN_LOCKS) @@ -227,28 +254,52 @@ private: public: spin_mutex() { - BOOST_VERIFY(pthread_mutex_init(&m_State, NULL) == 0); + const int err = pthread_mutex_init(&m_State, NULL); + if (err != 0) + throw_exception< thread_resource_error >(err, "failed to initialize a spin mutex", "spin_mutex::spin_mutex()", __FILE__, __LINE__); } + ~spin_mutex() { - pthread_mutex_destroy(&m_State); + BOOST_VERIFY(pthread_mutex_destroy(&m_State) == 0); } + bool try_lock() { - return (pthread_mutex_trylock(&m_State) == 0); + const int err = pthread_mutex_trylock(&m_State); + if (err == 0) + return true; + if (err != EBUSY) + throw_exception< lock_error >(err, "failed to lock a spin mutex", "spin_mutex::try_lock()", __FILE__, __LINE__); + return false; } + void lock() { - BOOST_VERIFY(pthread_mutex_lock(&m_State) == 0); + const int err = pthread_mutex_lock(&m_State); + if (err != 0) + throw_exception< lock_error >(err, "failed to lock a spin mutex", "spin_mutex::lock()", __FILE__, __LINE__); } + void unlock() { - pthread_mutex_unlock(&m_State); + BOOST_VERIFY(pthread_mutex_unlock(&m_State) == 0); } // Non-copyable - BOOST_LOG_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) - BOOST_LOG_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex(spin_mutex const&)) + BOOST_DELETED_FUNCTION(spin_mutex& operator= (spin_mutex const&)) + +private: + template< typename ExceptionT > + static BOOST_NOINLINE BOOST_LOG_NORETURN void throw_exception(int err, const char* descr, const char* func, const char* file, int line) + { +#if !defined(BOOST_EXCEPTION_DISABLE) + boost::exception_detail::throw_exception_(ExceptionT(err, descr), func, file, line); +#else + boost::throw_exception(ExceptionT(err, descr)); +#endif + } }; #endif // defined(_POSIX_SPIN_LOCKS) diff --git a/3party/boost/boost/log/detail/tagged_integer.hpp b/3party/boost/boost/log/detail/tagged_integer.hpp index 9cecc437f6..5aef5bbfcc 100644 --- a/3party/boost/boost/log/detail/tagged_integer.hpp +++ b/3party/boost/boost/log/detail/tagged_integer.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 11.01.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_TAGGED_INTEGER_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/thread_id.hpp b/3party/boost/boost/log/detail/thread_id.hpp index c92230853b..3b592c2c25 100644 --- a/3party/boost/boost/log/detail/thread_id.hpp +++ b/3party/boost/boost/log/detail/thread_id.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.01.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_ @@ -22,7 +22,7 @@ #include <boost/log/detail/id.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -48,7 +48,7 @@ namespace this_thread { //! The function returns current thread identifier BOOST_LOG_API thread::id const& get_id(); -} // namespace this_process +} // namespace this_thread template< typename CharT, typename TraitsT > BOOST_LOG_API std::basic_ostream< CharT, TraitsT >& diff --git a/3party/boost/boost/log/detail/thread_specific.hpp b/3party/boost/boost/log/detail/thread_specific.hpp index 8164d25f46..72d2a3b22e 100644 --- a/3party/boost/boost/log/detail/thread_specific.hpp +++ b/3party/boost/boost/log/detail/thread_specific.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 01.03.2008 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_THREAD_SPECIFIC_HPP_INCLUDED_ @@ -20,7 +20,7 @@ #include <boost/type_traits/is_pod.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -53,8 +53,8 @@ protected: BOOST_LOG_API void set_content(void* value) const; // Copying prohibited - BOOST_LOG_DELETED_FUNCTION(thread_specific_base(thread_specific_base const&)) - BOOST_LOG_DELETED_FUNCTION(thread_specific_base& operator= (thread_specific_base const&)) + BOOST_DELETED_FUNCTION(thread_specific_base(thread_specific_base const&)) + BOOST_DELETED_FUNCTION(thread_specific_base& operator= (thread_specific_base const&)) }; //! A TLS wrapper for small POD types with least possible overhead @@ -73,7 +73,7 @@ class thread_specific : public: //! Default constructor - BOOST_LOG_DEFAULTED_FUNCTION(thread_specific(), {}) + BOOST_DEFAULTED_FUNCTION(thread_specific(), {}) //! Initializing constructor thread_specific(T const& value) { diff --git a/3party/boost/boost/log/detail/threadsafe_queue.hpp b/3party/boost/boost/log/detail/threadsafe_queue.hpp index 025eaf95ed..a1e78249f0 100644 --- a/3party/boost/boost/log/detail/threadsafe_queue.hpp +++ b/3party/boost/boost/log/detail/threadsafe_queue.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 05.11.2010 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_THREADSAFE_QUEUE_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -246,7 +246,7 @@ public: threadsafe_queue_impl::node_base *dealloc, *destr; if (m_pImpl->try_pop(dealloc, destr)) { - register node* p = static_cast< node* >(destr); + node* p = static_cast< node* >(destr); auto_deallocate guard(static_cast< base_type* >(this), static_cast< node* >(dealloc), p); value = boost::move(p->value()); return true; @@ -255,10 +255,9 @@ public: return false; } -private: // Copying and assignment is prohibited - threadsafe_queue(threadsafe_queue const&); - threadsafe_queue& operator= (threadsafe_queue const&); + BOOST_DELETED_FUNCTION(threadsafe_queue(threadsafe_queue const&)) + BOOST_DELETED_FUNCTION(threadsafe_queue& operator= (threadsafe_queue const&)) private: //! Pointer to the implementation diff --git a/3party/boost/boost/log/detail/timestamp.hpp b/3party/boost/boost/log/detail/timestamp.hpp index 1341d7d969..719061fb01 100644 --- a/3party/boost/boost/log/detail/timestamp.hpp +++ b/3party/boost/boost/log/detail/timestamp.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 31.07.2011 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_TIMESTAMP_HPP_INCLUDED_ @@ -20,7 +20,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/trivial_keyword.hpp b/3party/boost/boost/log/detail/trivial_keyword.hpp index 5b38746578..d0e4f60713 100644 --- a/3party/boost/boost/log/detail/trivial_keyword.hpp +++ b/3party/boost/boost/log/detail/trivial_keyword.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 02.12.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_TRIVIAL_KEYWORD_HPP_INCLUDED_ @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/unary_function_terminal.hpp b/3party/boost/boost/log/detail/unary_function_terminal.hpp index 2bb6a1fc83..f9a3412acf 100644 --- a/3party/boost/boost/log/detail/unary_function_terminal.hpp +++ b/3party/boost/boost/log/detail/unary_function_terminal.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,10 +23,11 @@ #include <boost/type_traits/remove_cv.hpp> #include <boost/type_traits/remove_reference.hpp> #include <boost/log/detail/config.hpp> +#include <boost/log/detail/copy_cv.hpp> #include <boost/log/detail/custom_terminal_spec.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -62,26 +63,16 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > - { - typedef typename remove_cv< - typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type - >::type env_type; - typedef typename env_type::args_type args_type; - - typedef typename boost::result_of< function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; - }; - - template< typename ContextT > - struct result< const this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type >::type env_type; typedef typename env_type::args_type args_type; + typedef typename boost::log::aux::copy_cv< ThisT, function_type >::type cv_function_type; - typedef typename boost::result_of< const function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; + typedef typename boost::result_of< cv_function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; }; private: @@ -90,7 +81,7 @@ private: public: //! Default constructor - BOOST_LOG_DEFAULTED_FUNCTION(unary_function_terminal(), {}) + BOOST_DEFAULTED_FUNCTION(unary_function_terminal(), {}) //! Copy constructor unary_function_terminal(unary_function_terminal const& that) : m_fun(that.m_fun) {} //! Initializing constructor diff --git a/3party/boost/boost/log/detail/unhandled_exception_count.hpp b/3party/boost/boost/log/detail/unhandled_exception_count.hpp index 90245abdd1..17866c3b36 100644 --- a/3party/boost/boost/log/detail/unhandled_exception_count.hpp +++ b/3party/boost/boost/log/detail/unhandled_exception_count.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 05.11.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. */ #ifndef BOOST_LOG_DETAIL_UNHANDLED_EXCEPTION_COUNT_HPP_INCLUDED_ @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/detail/value_ref_visitation.hpp b/3party/boost/boost/log/detail/value_ref_visitation.hpp index c7744a2a84..795069d150 100644 --- a/3party/boost/boost/log/detail/value_ref_visitation.hpp +++ b/3party/boost/boost/log/detail/value_ref_visitation.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 28.07.2012 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. In this file + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file * internal configuration macros are defined. */ @@ -44,7 +44,7 @@ struct apply_visitor_dispatch { typedef typename VisitorT::result_type result_type; - static BOOST_LOG_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor) + static BOOST_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor) { typedef typename mpl::begin< SequenceT >::type begin_type; typedef typename mpl::advance_c< begin_type, SizeV / 2u >::type middle_type; @@ -91,7 +91,7 @@ struct apply_visitor_dispatch< SequenceT, VisitorT, BOOST_LOG_AUX_SWITCH_SIZE > { typedef typename VisitorT::result_type result_type; - static BOOST_LOG_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor) + static BOOST_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor) { switch (type_index) { diff --git a/3party/boost/boost/log/detail/visible_type.hpp b/3party/boost/boost/log/detail/visible_type.hpp index 0e03e19cd6..2086278d42 100644 --- a/3party/boost/boost/log/detail/visible_type.hpp +++ b/3party/boost/boost/log/detail/visible_type.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -10,7 +10,7 @@ * \date 08.03.2007 * * \brief This header is the Boost.Log library implementation, see the library documentation - * at http://www.boost.org/libs/log/doc/log.html. In this file + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file * internal configuration macros are defined. */ @@ -20,7 +20,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -32,7 +32,7 @@ namespace aux { //! The wrapper type whose type_info is always visible template< typename T > -struct BOOST_LOG_VISIBLE visible_type +struct BOOST_SYMBOL_VISIBLE visible_type { typedef T wrapped_type; }; diff --git a/3party/boost/boost/log/exceptions.hpp b/3party/boost/boost/log/exceptions.hpp index 71c51d3601..8171d0a3f0 100644 --- a/3party/boost/boost/log/exceptions.hpp +++ b/3party/boost/boost/log/exceptions.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -24,7 +24,7 @@ #include <boost/log/utility/type_info_wrapper.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -45,7 +45,7 @@ class exception; # endif #else -class BOOST_LOG_VISIBLE exception; +class BOOST_SYMBOL_VISIBLE exception; #endif diff --git a/3party/boost/boost/log/expressions.hpp b/3party/boost/boost/log/expressions.hpp index ae1c0f6a23..990981a233 100644 --- a/3party/boost/boost/log/expressions.hpp +++ b/3party/boost/boost/log/expressions.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -31,7 +31,7 @@ // Boost.Phoenix operators are likely to be used with Boost.Log expression nodes anyway #include <boost/phoenix/operator.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/attr.hpp b/3party/boost/boost/log/expressions/attr.hpp index 2483e90e81..31deefc0a9 100644 --- a/3party/boost/boost/log/expressions/attr.hpp +++ b/3party/boost/boost/log/expressions/attr.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -25,6 +25,7 @@ #include <boost/type_traits/remove_cv.hpp> #include <boost/type_traits/remove_reference.hpp> #include <boost/log/detail/config.hpp> +#include <boost/log/detail/copy_cv.hpp> #include <boost/log/detail/custom_terminal_spec.hpp> #include <boost/log/attributes/attribute_name.hpp> #include <boost/log/attributes/value_extraction.hpp> @@ -32,7 +33,7 @@ #include <boost/log/expressions/attr_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -69,26 +70,16 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > - { - typedef typename remove_cv< - typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type - >::type env_type; - typedef typename env_type::args_type args_type; - - typedef typename boost::result_of< value_extractor_type(attribute_name const&, typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; - }; - - template< typename ContextT > - struct result< const this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type >::type env_type; typedef typename env_type::args_type args_type; + typedef typename boost::log::aux::copy_cv< ThisT, value_extractor_type >::type cv_value_extractor_type; - typedef typename boost::result_of< const value_extractor_type(attribute_name const&, typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; + typedef typename boost::result_of< cv_value_extractor_type(attribute_name const&, typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; }; private: @@ -149,7 +140,7 @@ public: return m_value_extractor(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args())); } - BOOST_LOG_DELETED_FUNCTION(attribute_terminal()) + BOOST_DELETED_FUNCTION(attribute_terminal()) }; /*! @@ -232,7 +223,7 @@ public: * with the specified name and type. */ template< typename AttributeValueT > -BOOST_LOG_FORCEINLINE attribute_actor< AttributeValueT > attr(attribute_name const& name) +BOOST_FORCEINLINE attribute_actor< AttributeValueT > attr(attribute_name const& name) { typedef attribute_actor< AttributeValueT > result_type; typedef typename result_type::terminal_type result_terminal; @@ -245,7 +236,7 @@ BOOST_LOG_FORCEINLINE attribute_actor< AttributeValueT > attr(attribute_name con * with the specified name and type. */ template< typename AttributeValueT, typename TagT > -BOOST_LOG_FORCEINLINE attribute_actor< AttributeValueT, fallback_to_none, TagT > attr(attribute_name const& name) +BOOST_FORCEINLINE attribute_actor< AttributeValueT, fallback_to_none, TagT > attr(attribute_name const& name) { typedef attribute_actor< AttributeValueT, fallback_to_none, TagT > result_type; typedef typename result_type::terminal_type result_terminal; diff --git a/3party/boost/boost/log/expressions/attr_fwd.hpp b/3party/boost/boost/log/expressions/attr_fwd.hpp index a858bc6efe..a8e7b92a81 100644 --- a/3party/boost/boost/log/expressions/attr_fwd.hpp +++ b/3party/boost/boost/log/expressions/attr_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/attributes/fallback_policy_fwd.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/filter.hpp b/3party/boost/boost/log/expressions/filter.hpp index 95a0a9f19f..af985634ec 100644 --- a/3party/boost/boost/log/expressions/filter.hpp +++ b/3party/boost/boost/log/expressions/filter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/detail/light_function.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -71,7 +71,7 @@ public: { } /*! - * Move constructor + * Move constructor. The moved-from filter is left in an unspecified state. */ filter(BOOST_RV_REF(filter) that) BOOST_NOEXCEPT : m_Filter(boost::move(that.m_Filter)) { @@ -92,7 +92,7 @@ public: } /*! - * Move assignment. + * Move assignment. The moved-from filter is left in an unspecified state. */ filter& operator= (BOOST_RV_REF(filter) that) BOOST_NOEXCEPT { diff --git a/3party/boost/boost/log/expressions/formatter.hpp b/3party/boost/boost/log/expressions/formatter.hpp index ebe5f68b48..31f526b9d5 100644 --- a/3party/boost/boost/log/expressions/formatter.hpp +++ b/3party/boost/boost/log/expressions/formatter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,6 +15,7 @@ #ifndef BOOST_LOG_EXPRESSIONS_FORMATTER_HPP_INCLUDED_ #define BOOST_LOG_EXPRESSIONS_FORMATTER_HPP_INCLUDED_ +#include <boost/ref.hpp> #include <boost/move/core.hpp> #include <boost/move/utility.hpp> #include <boost/utility/enable_if.hpp> @@ -28,7 +29,7 @@ #include <boost/log/expressions/message.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -36,6 +37,62 @@ namespace boost { BOOST_LOG_OPEN_NAMESPACE +namespace expressions { + +namespace aux { + +// This reference class is a workaround for a Boost.Phoenix bug: https://svn.boost.org/trac/boost/ticket/9363 +// It is needed to pass output streams by non-const reference to function objects wrapped in phoenix::bind and phoenix::function. +// It's an implementation detail and will be removed when Boost.Phoenix is fixed. +template< typename StreamT > +class stream_ref : + public reference_wrapper< StreamT > +{ +public: + BOOST_FORCEINLINE explicit stream_ref(StreamT& strm) : reference_wrapper< StreamT >(strm) + { + } + + template< typename T > + BOOST_FORCEINLINE StreamT& operator<< (T& val) const + { + StreamT& strm = this->get(); + strm << val; + return strm; + } + + template< typename T > + BOOST_FORCEINLINE StreamT& operator<< (T const& val) const + { + StreamT& strm = this->get(); + strm << val; + return strm; + } +}; + +//! Default log record message formatter +struct message_formatter +{ + typedef void result_type; + + message_formatter() : m_MessageName(expressions::tag::message::get_name()) + { + } + + template< typename StreamT > + result_type operator() (record_view const& rec, StreamT& strm) const + { + boost::log::visit< expressions::tag::message::value_type >(m_MessageName, rec, boost::log::bind_output(strm)); + } + +private: + const attribute_name m_MessageName; +}; + +} // namespace aux + +} // namespace expressions + /*! * Log record formatter function wrapper. */ @@ -56,25 +113,7 @@ public: private: //! Filter function type - typedef boost::log::aux::light_function< void (record_view const&, stream_type&) > formatter_type; - - //! Default formatter, always returns \c true - struct default_formatter - { - typedef void result_type; - - default_formatter() : m_MessageName(expressions::tag::message::get_name()) - { - } - - result_type operator() (record_view const& rec, stream_type& strm) const - { - boost::log::visit< expressions::tag::message::value_type >(m_MessageName, rec, boost::log::bind_output(strm)); - } - - private: - const attribute_name m_MessageName; - }; + typedef boost::log::aux::light_function< void (record_view const&, expressions::aux::stream_ref< stream_type >) > formatter_type; private: //! Formatter function @@ -84,7 +123,7 @@ public: /*! * Default constructor. Creates a formatter that only outputs log message. */ - basic_formatter() : m_Formatter(default_formatter()) + basic_formatter() : m_Formatter(expressions::aux::message_formatter()) { } /*! @@ -94,7 +133,7 @@ public: { } /*! - * Move constructor + * Move constructor. The moved-from formatter is left in an unspecified state. */ basic_formatter(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT : m_Formatter(boost::move(that.m_Formatter)) { @@ -115,7 +154,7 @@ public: } /*! - * Move assignment. + * Move assignment. The moved-from formatter is left in an unspecified state. */ basic_formatter& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT { @@ -154,7 +193,7 @@ public: */ result_type operator() (record_view const& rec, stream_type& strm) const { - m_Formatter(rec, strm); + m_Formatter(rec, expressions::aux::stream_ref< stream_type >(strm)); } /*! @@ -162,7 +201,7 @@ public: */ void reset() { - m_Formatter = default_formatter(); + m_Formatter = expressions::aux::message_formatter(); } /*! diff --git a/3party/boost/boost/log/expressions/formatters.hpp b/3party/boost/boost/log/expressions/formatters.hpp index 79ea0d71b9..47f84a516f 100644 --- a/3party/boost/boost/log/expressions/formatters.hpp +++ b/3party/boost/boost/log/expressions/formatters.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -31,7 +31,7 @@ #include <boost/log/expressions/formatters/if.hpp> #include <boost/log/expressions/formatters/wrap_formatter.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/formatters/c_decorator.hpp b/3party/boost/boost/log/expressions/formatters/c_decorator.hpp index d9ceb23a54..eea835fd34 100644 --- a/3party/boost/boost/log/expressions/formatters/c_decorator.hpp +++ b/3party/boost/boost/log/expressions/formatters/c_decorator.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -22,7 +22,7 @@ #include <boost/log/expressions/formatters/char_decorator.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -90,7 +90,7 @@ struct c_decorator_traits< wchar_t > static std::size_t print_escaped(wchar_t (&buf)[N], wchar_t c) { const wchar_t* format; - register unsigned int val; + unsigned int val; if (sizeof(wchar_t) == 1) { format = L"\\x%0.2X"; @@ -118,7 +118,7 @@ struct c_decorator_gen typedef CharT char_type; template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const { typedef c_decorator_traits< char_type > traits_type; typedef pattern_replacer< char_type > replacer_type; @@ -153,7 +153,7 @@ const aux::c_decorator_gen< wchar_t > wc_decor = {}; * The function creates a C-style decorator generator for arbitrary character type. */ template< typename CharT > -BOOST_LOG_FORCEINLINE aux::c_decorator_gen< CharT > make_c_decor() +BOOST_FORCEINLINE aux::c_decorator_gen< CharT > make_c_decor() { return aux::c_decorator_gen< CharT >(); } @@ -218,7 +218,7 @@ struct c_ascii_decorator_gen typedef CharT char_type; template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, c_ascii_pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, c_ascii_pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const { typedef c_decorator_traits< char_type > traits_type; typedef c_ascii_pattern_replacer< char_type > replacer_type; @@ -254,7 +254,7 @@ const aux::c_ascii_decorator_gen< wchar_t > wc_ascii_decor = {}; * The function creates a C-style decorator generator for arbitrary character type. */ template< typename CharT > -BOOST_LOG_FORCEINLINE aux::c_ascii_decorator_gen< CharT > make_c_ascii_decor() +BOOST_FORCEINLINE aux::c_ascii_decorator_gen< CharT > make_c_ascii_decor() { return aux::c_ascii_decorator_gen< CharT >(); } diff --git a/3party/boost/boost/log/expressions/formatters/char_decorator.hpp b/3party/boost/boost/log/expressions/formatters/char_decorator.hpp index e59378e2a4..ca24c0d486 100644 --- a/3party/boost/boost/log/expressions/formatters/char_decorator.hpp +++ b/3party/boost/boost/log/expressions/formatters/char_decorator.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -45,7 +45,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -250,8 +250,8 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; typedef typename phoenix::evaluator::impl< @@ -261,17 +261,6 @@ public: >::result_type type; }; - template< typename ContextT > - struct result< const this_type(ContextT) > - { - typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; - typedef typename phoenix::evaluator::impl< - typename LeftT::proto_base_expr const&, - context_type, - phoenix::unused - >::result_type type; - }; - private: //! Left argument actor LeftT m_left; @@ -342,7 +331,7 @@ public: return strm; } - BOOST_LOG_DELETED_FUNCTION(char_decorator_output_terminal()) + BOOST_DELETED_FUNCTION(char_decorator_output_terminal()) }; } // namespace aux @@ -483,7 +472,7 @@ public: return boost::move(str); } - BOOST_LOG_DELETED_FUNCTION(char_decorator_terminal()) + BOOST_DELETED_FUNCTION(char_decorator_terminal()) }; /*! @@ -519,7 +508,7 @@ public: #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename SubactorT, typename ImplT, template< typename > class ActorT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< aux::char_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, ImplT > >\ + BOOST_FORCEINLINE phoenix::actor< aux::char_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, ImplT > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, char_decorator_actor< SubactorT, ImplT, ActorT > right_ref right)\ {\ typedef aux::char_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, ImplT > terminal_type;\ @@ -548,7 +537,7 @@ public: } template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const { typedef pattern_replacer< char_type > replacer_type; typedef char_decorator_actor< SubactorT, replacer_type > result_type; @@ -574,7 +563,7 @@ public: } template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< from_char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< from_char_type > > operator[] (SubactorT const& subactor) const { typedef pattern_replacer< from_char_type > replacer_type; typedef char_decorator_actor< SubactorT, replacer_type > result_type; @@ -594,7 +583,7 @@ public: * substring occurrence in the output will be replaced with <tt>decorations[i].second</tt>. */ template< typename RangeT > -BOOST_LOG_FORCEINLINE aux::char_decorator_gen1< RangeT > char_decor(RangeT const& decorations) +BOOST_FORCEINLINE aux::char_decorator_gen1< RangeT > char_decor(RangeT const& decorations) { return aux::char_decorator_gen1< RangeT >(decorations); } @@ -610,7 +599,7 @@ BOOST_LOG_FORCEINLINE aux::char_decorator_gen1< RangeT > char_decor(RangeT const * substring occurrence in the output will be replaced with <tt>to[i]</tt>. */ template< typename FromRangeT, typename ToRangeT > -BOOST_LOG_FORCEINLINE aux::char_decorator_gen2< FromRangeT, ToRangeT > char_decor(FromRangeT const& from, ToRangeT const& to) +BOOST_FORCEINLINE aux::char_decorator_gen2< FromRangeT, ToRangeT > char_decor(FromRangeT const& from, ToRangeT const& to) { return aux::char_decorator_gen2< FromRangeT, ToRangeT >(from, to); } diff --git a/3party/boost/boost/log/expressions/formatters/csv_decorator.hpp b/3party/boost/boost/log/expressions/formatters/csv_decorator.hpp index 4a0e0ddc39..8c964a0d13 100644 --- a/3party/boost/boost/log/expressions/formatters/csv_decorator.hpp +++ b/3party/boost/boost/log/expressions/formatters/csv_decorator.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/expressions/formatters/char_decorator.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -88,7 +88,7 @@ struct csv_decorator_gen typedef CharT char_type; template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const { typedef csv_decorator_traits< char_type > traits_type; typedef pattern_replacer< char_type > replacer_type; @@ -124,7 +124,7 @@ const aux::csv_decorator_gen< wchar_t > wcsv_decor = {}; * The function creates an CSV-style decorator generator for arbitrary character type. */ template< typename CharT > -BOOST_LOG_FORCEINLINE aux::csv_decorator_gen< CharT > make_csv_decor() +BOOST_FORCEINLINE aux::csv_decorator_gen< CharT > make_csv_decor() { return aux::csv_decorator_gen< CharT >(); } diff --git a/3party/boost/boost/log/expressions/formatters/date_time.hpp b/3party/boost/boost/log/expressions/formatters/date_time.hpp index 39a82b9d3e..0ff6b680e6 100644 --- a/3party/boost/boost/log/expressions/formatters/date_time.hpp +++ b/3party/boost/boost/log/expressions/formatters/date_time.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -37,7 +37,7 @@ #include <boost/log/utility/functional/bind.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -140,7 +140,7 @@ public: return boost::move(str); } - BOOST_LOG_DELETED_FUNCTION(format_date_time_terminal()) + BOOST_DELETED_FUNCTION(format_date_time_terminal()) }; /*! @@ -200,7 +200,7 @@ public: #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename T, typename FallbackPolicyT, typename CharT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, T, FallbackPolicyT, typename format_date_time_actor< T, FallbackPolicyT, CharT >::formatter_function_type > >\ + BOOST_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, T, FallbackPolicyT, typename format_date_time_actor< T, FallbackPolicyT, CharT >::formatter_function_type > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, format_date_time_actor< T, FallbackPolicyT, CharT > right_ref right)\ {\ typedef aux::attribute_output_terminal< phoenix::actor< LeftExprT >, T, FallbackPolicyT, typename format_date_time_actor< T, FallbackPolicyT, CharT >::formatter_function_type > terminal_type;\ @@ -222,7 +222,7 @@ public: * \param format Format string */ template< typename AttributeValueT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, const CharT* format) +BOOST_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, const CharT* format) { typedef format_date_time_actor< AttributeValueT, fallback_to_none, CharT > actor_type; typedef typename actor_type::terminal_type terminal_type; @@ -238,7 +238,7 @@ BOOST_LOG_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, * \param format Format string */ template< typename AttributeValueT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, std::basic_string< CharT > const& format) +BOOST_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, std::basic_string< CharT > const& format) { typedef format_date_time_actor< AttributeValueT, fallback_to_none, CharT > actor_type; typedef typename actor_type::terminal_type terminal_type; @@ -254,7 +254,7 @@ BOOST_LOG_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, * \param format Format string */ template< typename DescriptorT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > +BOOST_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, const CharT* format) { typedef format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > actor_type; @@ -271,7 +271,7 @@ format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, const * \param format Format string */ template< typename DescriptorT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > +BOOST_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, std::basic_string< CharT > const& format) { typedef format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > actor_type; @@ -288,7 +288,7 @@ format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, std::b * \param format Format string */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > +BOOST_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, const CharT* format) { typedef format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > actor_type; @@ -305,7 +305,7 @@ format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& plac * \param format Format string */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > +BOOST_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, std::basic_string< CharT > const& format) { typedef format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > actor_type; @@ -318,6 +318,24 @@ format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& plac BOOST_LOG_CLOSE_NAMESPACE // namespace log +#ifndef BOOST_LOG_DOXYGEN_PASS + +namespace phoenix { + +namespace result_of { + +template< typename T, typename FallbackPolicyT, typename CharT > +struct is_nullary< custom_terminal< boost::log::expressions::format_date_time_terminal< T, FallbackPolicyT, CharT > > > : + public mpl::false_ +{ +}; + +} // namespace result_of + +} // namespace phoenix + +#endif // BOOST_LOG_DOXYGEN_PASS + } // namespace boost #include <boost/log/detail/footer.hpp> diff --git a/3party/boost/boost/log/expressions/formatters/format.hpp b/3party/boost/boost/log/expressions/formatters/format.hpp index c8c71ad92a..c5d7917453 100644 --- a/3party/boost/boost/log/expressions/formatters/format.hpp +++ b/3party/boost/boost/log/expressions/formatters/format.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/detail/custom_terminal_spec.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -72,7 +72,7 @@ public: return m_format.make_pump(fusion::at_c< 1 >(phoenix::env(ctx).args())); } - BOOST_LOG_DELETED_FUNCTION(format_terminal()) + BOOST_DELETED_FUNCTION(format_terminal()) }; /*! @@ -80,7 +80,7 @@ public: * according to the provided format string. */ template< typename CharT > -BOOST_LOG_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(const CharT* fmt) +BOOST_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(const CharT* fmt) { typedef format_terminal< CharT > terminal_type; phoenix::actor< terminal_type > act = {{ terminal_type(fmt) }}; @@ -92,7 +92,7 @@ BOOST_LOG_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(const Ch * according to the provided format string. */ template< typename CharT, typename TraitsT, typename AllocatorT > -BOOST_LOG_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt) +BOOST_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt) { typedef format_terminal< CharT > terminal_type; phoenix::actor< terminal_type > act = {{ terminal_type(fmt.c_str()) }}; diff --git a/3party/boost/boost/log/expressions/formatters/if.hpp b/3party/boost/boost/log/expressions/formatters/if.hpp index c992982aa8..0985439761 100644 --- a/3party/boost/boost/log/expressions/formatters/if.hpp +++ b/3party/boost/boost/log/expressions/formatters/if.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -28,7 +28,7 @@ #include <boost/log/detail/custom_terminal_spec.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -55,8 +55,8 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; typedef typename phoenix::evaluator::impl< @@ -66,17 +66,6 @@ public: >::result_type type; }; - template< typename ContextT > - struct result< const this_type(ContextT) > - { - typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; - typedef typename phoenix::evaluator::impl< - typename LeftT::proto_base_expr const&, - context_type, - phoenix::unused - >::result_type type; - }; - private: //! Left argument actor LeftT m_left; @@ -113,7 +102,7 @@ public: return strm; } - BOOST_LOG_DELETED_FUNCTION(if_output_terminal()) + BOOST_DELETED_FUNCTION(if_output_terminal()) }; template< typename LeftT, typename CondT, typename ThenT, typename ElseT > @@ -131,8 +120,8 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; typedef typename phoenix::evaluator::impl< @@ -142,17 +131,6 @@ public: >::result_type type; }; - template< typename ContextT > - struct result< const this_type(ContextT) > - { - typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; - typedef typename phoenix::evaluator::impl< - typename LeftT::proto_base_expr const&, - context_type, - phoenix::unused - >::result_type type; - }; - private: //! Left argument actor LeftT m_left; @@ -195,7 +173,7 @@ public: return strm; } - BOOST_LOG_DELETED_FUNCTION(if_else_output_terminal()) + BOOST_DELETED_FUNCTION(if_else_output_terminal()) }; @@ -215,7 +193,7 @@ struct if_then_else_gen #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename CondT, typename ThenT, typename ElseT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< if_else_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT, ElseT > >\ + BOOST_FORCEINLINE phoenix::actor< if_else_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT, ElseT > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, if_then_else_gen< CondT, ThenT, ElseT > right_ref right)\ {\ typedef if_else_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT, ElseT > terminal_type;\ @@ -242,7 +220,7 @@ struct if_then_gen } template< typename ElseT > - BOOST_LOG_FORCEINLINE if_then_else_gen< CondT, ThenT, ElseT > operator[] (ElseT const& el) + BOOST_FORCEINLINE if_then_else_gen< CondT, ThenT, ElseT > operator[] (ElseT const& el) { return if_then_else_gen< CondT, ThenT, ElseT >(m_cond, m_then, el); } @@ -256,7 +234,7 @@ struct if_then_gen #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename CondT, typename ThenT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< if_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT > >\ + BOOST_FORCEINLINE phoenix::actor< if_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, if_then_gen< CondT, ThenT > right_ref right)\ {\ typedef if_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT > terminal_type;\ @@ -282,7 +260,7 @@ public: } template< typename ThenT > - BOOST_LOG_FORCEINLINE if_then_gen< CondT, ThenT > operator[] (ThenT const& then_) const + BOOST_FORCEINLINE if_then_gen< CondT, ThenT > operator[] (ThenT const& then_) const { return if_then_gen< CondT, ThenT >(m_cond, then_); } @@ -297,7 +275,7 @@ public: * \param cond A filter expression that will be used as the condition */ template< typename CondT > -BOOST_LOG_FORCEINLINE aux::if_gen< CondT > if_(CondT const& cond) +BOOST_FORCEINLINE aux::if_gen< CondT > if_(CondT const& cond) { return aux::if_gen< CondT >(cond); } diff --git a/3party/boost/boost/log/expressions/formatters/named_scope.hpp b/3party/boost/boost/log/expressions/formatters/named_scope.hpp index 86952af632..2225e00ec9 100644 --- a/3party/boost/boost/log/expressions/formatters/named_scope.hpp +++ b/3party/boost/boost/log/expressions/formatters/named_scope.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -50,9 +50,11 @@ #include <boost/log/keywords/delimiter.hpp> #include <boost/log/keywords/depth.hpp> #include <boost/log/keywords/iteration.hpp> +#include <boost/log/keywords/empty_marker.hpp> +#include <boost/log/keywords/incomplete_marker.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -71,10 +73,17 @@ enum scope_iteration_direction namespace aux { +#ifdef BOOST_LOG_USE_CHAR //! Parses the named scope format string and constructs the formatter function -template< typename CharT > -BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) > -parse_named_scope_format(const CharT* begin, const CharT* end); +BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) > +parse_named_scope_format(const char* begin, const char* end); +#endif + +#ifdef BOOST_LOG_USE_WCHAR_T +//! Parses the named scope format string and constructs the formatter function +BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) > +parse_named_scope_format(const wchar_t* begin, const wchar_t* end); +#endif //! Parses the named scope format string and constructs the formatter function template< typename CharT > @@ -125,6 +134,10 @@ private: element_formatter_type m_element_formatter; //! Element delimiter string_type m_delimiter; + //! Incomplete list marker + string_type m_incomplete_marker; + //! Empty list marker + string_type m_empty_marker; //! Maximum number of elements to output value_type::size_type m_depth; //! Iteration direction @@ -132,9 +145,19 @@ private: public: //! Initializing constructor - format_named_scope_impl(element_formatter_type const& element_formatter, string_type const& delimiter, value_type::size_type depth, scope_iteration_direction direction) : + format_named_scope_impl + ( + element_formatter_type const& element_formatter, + string_type const& delimiter, + string_type const& incomplete_marker, + string_type const& empty_marker, + value_type::size_type depth, + scope_iteration_direction direction + ) : m_element_formatter(element_formatter), m_delimiter(delimiter), + m_incomplete_marker(incomplete_marker), + m_empty_marker(empty_marker), m_depth(depth), m_direction(direction) { @@ -143,6 +166,8 @@ public: format_named_scope_impl(format_named_scope_impl const& that) : m_element_formatter(that.m_element_formatter), m_delimiter(that.m_delimiter), + m_incomplete_marker(that.m_incomplete_marker), + m_empty_marker(that.m_empty_marker), m_depth(that.m_depth), m_direction(that.m_direction) { @@ -151,10 +176,17 @@ public: //! Formatting operator result_type operator() (stream_type& strm, value_type const& scopes) const { - if (m_direction == expressions::forward) - format_forward(strm, scopes); + if (!scopes.empty()) + { + if (m_direction == expressions::forward) + format_forward(strm, scopes); + else + format_reverse(strm, scopes); + } else - format_reverse(strm, scopes); + { + strm << m_empty_marker; + } } private: @@ -176,7 +208,7 @@ private: if (it != end) { if (it != scopes.begin()) - strm << "..." << m_delimiter; + strm << m_incomplete_marker; m_element_formatter(strm, *it); for (++it; it != end; ++it) @@ -211,7 +243,7 @@ private: } if (it != scopes.rend()) - strm << m_delimiter << "..."; + strm << m_incomplete_marker; } } }; @@ -259,8 +291,18 @@ private: public: //! Initializing constructor template< typename FormatT > - format_named_scope_terminal(attribute_name const& name, fallback_policy const& fallback, FormatT const& element_format, string_type const& delimiter, value_type::size_type depth, scope_iteration_direction direction) : - m_name(name), m_formatter(aux::parse_named_scope_format(element_format), delimiter, depth, direction), m_visitor_invoker(fallback) + format_named_scope_terminal + ( + attribute_name const& name, + fallback_policy const& fallback, + FormatT const& element_format, + string_type const& delimiter, + string_type const& incomplete_marker, + string_type const& empty_marker, + value_type::size_type depth, + scope_iteration_direction direction + ) : + m_name(name), m_formatter(aux::parse_named_scope_format(element_format), delimiter, incomplete_marker, empty_marker, depth, direction), m_visitor_invoker(fallback) { } //! Copy constructor @@ -309,7 +351,7 @@ public: return boost::move(str); } - BOOST_LOG_DELETED_FUNCTION(format_named_scope_terminal()) + BOOST_DELETED_FUNCTION(format_named_scope_terminal()) }; /*! @@ -369,7 +411,7 @@ public: #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename FallbackPolicyT, typename CharT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, attributes::named_scope::value_type, FallbackPolicyT, typename format_named_scope_actor< FallbackPolicyT, CharT >::formatter_function_type > >\ + BOOST_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, attributes::named_scope::value_type, FallbackPolicyT, typename format_named_scope_actor< FallbackPolicyT, CharT >::formatter_function_type > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, format_named_scope_actor< FallbackPolicyT, CharT > right_ref right)\ {\ typedef aux::attribute_output_terminal< phoenix::actor< LeftExprT >, attributes::named_scope::value_type, FallbackPolicyT, typename format_named_scope_actor< FallbackPolicyT, CharT >::formatter_function_type > terminal_type;\ @@ -385,34 +427,39 @@ public: namespace aux { -//! Auxiliary traits to acquire correct default delimiter depending on the character type +//! Auxiliary traits to acquire default formatter parameters depending on the character type template< typename CharT > -struct default_scope_delimiter; +struct default_named_scope_params; #ifdef BOOST_LOG_USE_CHAR template< > -struct default_scope_delimiter< char > +struct default_named_scope_params< char > { - static const char* forward() { return "->"; } - static const char* reverse() { return "<-"; } + static const char* forward_delimiter() { return "->"; } + static const char* reverse_delimiter() { return "<-"; } + static const char* incomplete_marker() { return "..."; } + static const char* empty_marker() { return ""; } }; #endif #ifdef BOOST_LOG_USE_WCHAR_T template< > -struct default_scope_delimiter< wchar_t > +struct default_named_scope_params< wchar_t > { - static const wchar_t* forward() { return L"->"; } - static const wchar_t* reverse() { return L"<-"; } + static const wchar_t* forward_delimiter() { return L"->"; } + static const wchar_t* reverse_delimiter() { return L"<-"; } + static const wchar_t* incomplete_marker() { return L"..."; } + static const wchar_t* empty_marker() { return L""; } }; #endif template< typename CharT, template< typename > class ActorT, typename FallbackPolicyT, typename ArgsT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > format_named_scope(attribute_name const& name, FallbackPolicyT const& fallback, ArgsT const& args) +BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > format_named_scope(attribute_name const& name, FallbackPolicyT const& fallback, ArgsT const& args) { typedef format_named_scope_actor< FallbackPolicyT, CharT, ActorT > actor_type; typedef typename actor_type::terminal_type terminal_type; + typedef default_named_scope_params< CharT > default_params; scope_iteration_direction dir = args[keywords::iteration | expressions::forward]; - const CharT* default_delimiter = (dir == expressions::forward ? default_scope_delimiter< CharT >::forward() : default_scope_delimiter< CharT >::reverse()); + const CharT* default_delimiter = (dir == expressions::forward ? default_params::forward_delimiter() : default_params::reverse_delimiter()); typename actor_type::base_type act = {{ terminal_type @@ -421,6 +468,8 @@ BOOST_LOG_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > fallback, args[keywords::format], args[keywords::delimiter | default_delimiter], + args[keywords::incomplete_marker | default_params::incomplete_marker()], + args[keywords::empty_marker | default_params::empty_marker()], args[keywords::depth | static_cast< attributes::named_scope::value_type::size_type >(0)], dir ) @@ -438,7 +487,7 @@ BOOST_LOG_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > * \param element_format Format string for a single named scope */ template< typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, const CharT* element_format) +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, const CharT* element_format) { typedef format_named_scope_actor< fallback_to_none, CharT > actor_type; typedef typename actor_type::terminal_type terminal_type; @@ -454,7 +503,7 @@ BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format * \param element_format Format string for a single named scope */ template< typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, std::basic_string< CharT > const& element_format) +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, std::basic_string< CharT > const& element_format) { typedef format_named_scope_actor< fallback_to_none, CharT > actor_type; typedef typename actor_type::terminal_type terminal_type; @@ -470,7 +519,7 @@ BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format * \param element_format Format string for a single named scope */ template< typename DescriptorT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT > +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT > format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, const CharT* element_format) { BOOST_STATIC_ASSERT_MSG((is_same< typename DescriptorT::value_type, attributes::named_scope::value_type >::value),\ @@ -490,7 +539,7 @@ format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, cons * \param element_format Format string for a single named scope */ template< typename DescriptorT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT > +BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT > format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, std::basic_string< CharT > const& element_format) { BOOST_STATIC_ASSERT_MSG((is_same< typename DescriptorT::value_type, attributes::named_scope::value_type >::value),\ @@ -510,7 +559,7 @@ format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, std: * \param element_format Format string for a single named scope */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > +BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, const CharT* element_format) { BOOST_STATIC_ASSERT_MSG((is_same< T, attributes::named_scope::value_type >::value),\ @@ -530,7 +579,7 @@ format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& pl * \param element_format Format string for a single named scope */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT > -BOOST_LOG_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > +BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, std::basic_string< CharT > const& element_format) { BOOST_STATIC_ASSERT_MSG((is_same< T, attributes::named_scope::value_type >::value),\ @@ -545,7 +594,7 @@ format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& pl #if !defined(BOOST_LOG_DOXYGEN_PASS) # define BOOST_PP_FILENAME_1 <boost/log/detail/named_scope_fmt_pp.hpp> -# define BOOST_PP_ITERATION_LIMITS (1, 4) +# define BOOST_PP_ITERATION_LIMITS (1, 6) # include BOOST_PP_ITERATE() #else // BOOST_LOG_DOXYGEN_PASS @@ -557,6 +606,8 @@ format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& pl * \param args An set of named parameters. Supported parameters: * \li \c format - A format string for named scopes. The string can contain "%n", "%f" and "%l" placeholders for the scope name, file and line number, respectively. This parameter is mandatory. * \li \c delimiter - A string that is used to delimit the formatted scope names. Default: "->" or "<-", depending on the iteration direction. + * \li \c incomplete_marker - A string that is used to indicate that the list was printed incomplete because of depth limitation. Default: "...". + * \li \c empty_marker - A string that is output in case if the scope list is empty. Default: "", i.e. nothing is output. * \li \c iteration - Iteration direction, see \c scope_iteration_direction enumeration. Default: forward. * \li \c depth - Iteration depth. Default: unlimited. */ diff --git a/3party/boost/boost/log/expressions/formatters/stream.hpp b/3party/boost/boost/log/expressions/formatters/stream.hpp index 39449ce692..cd5f1d36c3 100644 --- a/3party/boost/boost/log/expressions/formatters/stream.hpp +++ b/3party/boost/boost/log/expressions/formatters/stream.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/formatters/wrap_formatter.hpp b/3party/boost/boost/log/expressions/formatters/wrap_formatter.hpp index 52064a53c8..7d8a22c4fc 100644 --- a/3party/boost/boost/log/expressions/formatters/wrap_formatter.hpp +++ b/3party/boost/boost/log/expressions/formatters/wrap_formatter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -32,7 +32,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -63,8 +63,8 @@ public: template< typename > struct result; - template< typename ContextT > - struct result< this_type(ContextT) > + template< typename ThisT, typename ContextT > + struct result< ThisT(ContextT) > { typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; typedef typename phoenix::evaluator::impl< @@ -74,17 +74,6 @@ public: >::result_type type; }; - template< typename ContextT > - struct result< const this_type(ContextT) > - { - typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type; - typedef typename phoenix::evaluator::impl< - typename LeftT::proto_base_expr const&, - context_type, - phoenix::unused - >::result_type type; - }; - private: //! Left argument actor LeftT m_left; @@ -121,7 +110,7 @@ public: return strm; } - BOOST_LOG_DELETED_FUNCTION(wrapped_formatter_output_terminal()) + BOOST_DELETED_FUNCTION(wrapped_formatter_output_terminal()) }; BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_char_type, char_type, false) @@ -262,7 +251,7 @@ public: #define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\ template< typename LeftExprT, typename FunT, typename CharT >\ - BOOST_LOG_FORCEINLINE phoenix::actor< aux::wrapped_formatter_output_terminal< phoenix::actor< LeftExprT >, FunT > >\ + BOOST_FORCEINLINE phoenix::actor< aux::wrapped_formatter_output_terminal< phoenix::actor< LeftExprT >, FunT > >\ operator<< (phoenix::actor< LeftExprT > left_ref left, wrapped_formatter_actor< FunT, CharT > right_ref right)\ {\ typedef aux::wrapped_formatter_output_terminal< phoenix::actor< LeftExprT >, FunT > terminal_type;\ @@ -287,7 +276,7 @@ public: * where \c CharT is the character type of the formatting expression. */ template< typename FunT > -BOOST_LOG_FORCEINLINE wrapped_formatter_actor< FunT, typename aux::default_char_type< FunT >::type > wrap_formatter(FunT const& fun) +BOOST_FORCEINLINE wrapped_formatter_actor< FunT, typename aux::default_char_type< FunT >::type > wrap_formatter(FunT const& fun) { typedef wrapped_formatter_actor< FunT, typename aux::default_char_type< FunT >::type > actor_type; typedef typename actor_type::terminal_type terminal_type; @@ -306,7 +295,7 @@ BOOST_LOG_FORCEINLINE wrapped_formatter_actor< FunT, typename aux::default_char_ * where \c CharT is the character type of the formatting expression. */ template< typename CharT, typename FunT > -BOOST_LOG_FORCEINLINE wrapped_formatter_actor< FunT, CharT > wrap_formatter(FunT const& fun) +BOOST_FORCEINLINE wrapped_formatter_actor< FunT, CharT > wrap_formatter(FunT const& fun) { typedef wrapped_formatter_actor< FunT, CharT > actor_type; typedef typename actor_type::terminal_type terminal_type; diff --git a/3party/boost/boost/log/expressions/formatters/xml_decorator.hpp b/3party/boost/boost/log/expressions/formatters/xml_decorator.hpp index 72c0b1f574..68ae596d49 100644 --- a/3party/boost/boost/log/expressions/formatters/xml_decorator.hpp +++ b/3party/boost/boost/log/expressions/formatters/xml_decorator.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/expressions/formatters/char_decorator.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -87,7 +87,7 @@ struct xml_decorator_gen typedef CharT char_type; template< typename SubactorT > - BOOST_LOG_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const + BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const { typedef xml_decorator_traits< char_type > traits_type; typedef pattern_replacer< char_type > replacer_type; @@ -122,7 +122,7 @@ const aux::xml_decorator_gen< wchar_t > wxml_decor = {}; * The function creates an XML-style decorator generator for arbitrary character type. */ template< typename CharT > -BOOST_LOG_FORCEINLINE aux::xml_decorator_gen< CharT > make_xml_decor() +BOOST_FORCEINLINE aux::xml_decorator_gen< CharT > make_xml_decor() { return aux::xml_decorator_gen< CharT >(); } diff --git a/3party/boost/boost/log/expressions/is_keyword_descriptor.hpp b/3party/boost/boost/log/expressions/is_keyword_descriptor.hpp index 67e194a660..9899e228e7 100644 --- a/3party/boost/boost/log/expressions/is_keyword_descriptor.hpp +++ b/3party/boost/boost/log/expressions/is_keyword_descriptor.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/keyword.hpp b/3party/boost/boost/log/expressions/keyword.hpp index b1169df034..434247be91 100644 --- a/3party/boost/boost/log/expressions/keyword.hpp +++ b/3party/boost/boost/log/expressions/keyword.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -33,7 +33,7 @@ #include <boost/log/attributes/fallback_policy.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/keyword_fwd.hpp b/3party/boost/boost/log/expressions/keyword_fwd.hpp index 5506721b39..a2671e9f61 100644 --- a/3party/boost/boost/log/expressions/keyword_fwd.hpp +++ b/3party/boost/boost/log/expressions/keyword_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/message.hpp b/3party/boost/boost/log/expressions/message.hpp index 2f1a761050..79d826a992 100644 --- a/3party/boost/boost/log/expressions/message.hpp +++ b/3party/boost/boost/log/expressions/message.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -24,7 +24,7 @@ #include <boost/log/attributes/attribute_name.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/predicates.hpp b/3party/boost/boost/log/expressions/predicates.hpp index 87d8a02b2c..297b51b9d2 100644 --- a/3party/boost/boost/log/expressions/predicates.hpp +++ b/3party/boost/boost/log/expressions/predicates.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/expressions/predicates/is_debugger_present.hpp> #include <boost/log/expressions/predicates/channel_severity_filter.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/predicates/begins_with.hpp b/3party/boost/boost/log/expressions/predicates/begins_with.hpp index 8d7ce17920..e837a4ac7e 100644 --- a/3party/boost/boost/log/expressions/predicates/begins_with.hpp +++ b/3party/boost/boost/log/expressions/predicates/begins_with.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/utility/functional/begins_with.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -84,7 +84,7 @@ public: * which is assumed to be a string, begins with the specified substring. */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > begins_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type; @@ -97,7 +97,7 @@ begins_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, Sub * which is assumed to be a string, begins with the specified substring. */ template< typename DescriptorT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > begins_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_begins_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; @@ -110,7 +110,7 @@ begins_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& s * which is assumed to be a string, begins with the specified substring. */ template< typename T, typename SubstringT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > begins_with(attribute_name const& name, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; diff --git a/3party/boost/boost/log/expressions/predicates/channel_severity_filter.hpp b/3party/boost/boost/log/expressions/predicates/channel_severity_filter.hpp index 5dd3917a94..f0ddfb564c 100644 --- a/3party/boost/boost/log/expressions/predicates/channel_severity_filter.hpp +++ b/3party/boost/boost/log/expressions/predicates/channel_severity_filter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -35,7 +35,7 @@ #include <boost/log/expressions/keyword_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -304,7 +304,7 @@ public: * if the record severity level is not less than the threshold for the channel the record belongs to. */ template< typename ChannelT, typename SeverityT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT > channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name) { typedef channel_severity_filter_actor< ChannelT, SeverityT > result_type; @@ -315,7 +315,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_name const //! \overload template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -326,7 +326,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword) { typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -337,7 +337,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_keyword< S //! \overload template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -348,7 +348,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -359,7 +359,7 @@ channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT //! \overload template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder) { typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -370,7 +370,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_actor< Sev //! \overload template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > result_type; @@ -382,7 +382,7 @@ channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT //! \overload template< typename ChannelT, typename SeverityT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT > channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT > result_type; @@ -393,7 +393,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_name const //! \overload template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -404,7 +404,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -415,7 +415,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_keyword< S //! \overload template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -426,7 +426,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -437,7 +437,7 @@ channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT //! \overload template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -448,7 +448,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_actor< Sev //! \overload template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -460,7 +460,7 @@ channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT //! \overload template< typename ChannelT, typename SeverityT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT > channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT > result_type; @@ -471,7 +471,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_name const //! \overload template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -482,7 +482,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -493,7 +493,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_keyword< S //! \overload template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -504,7 +504,7 @@ channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& c //! \overload template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -515,7 +515,7 @@ channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT //! \overload template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; @@ -526,7 +526,7 @@ channel_severity_filter(attribute_name const& channel_name, attribute_actor< Sev //! \overload template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT > -BOOST_LOG_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > +BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order) { typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type; diff --git a/3party/boost/boost/log/expressions/predicates/contains.hpp b/3party/boost/boost/log/expressions/predicates/contains.hpp index fd7f845690..633ba65e8e 100644 --- a/3party/boost/boost/log/expressions/predicates/contains.hpp +++ b/3party/boost/boost/log/expressions/predicates/contains.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/utility/functional/contains.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -84,7 +84,7 @@ public: * which is assumed to be a string, contains the specified substring. */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > contains(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type; @@ -97,7 +97,7 @@ contains(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, Substr * which is assumed to be a string, contains the specified substring. */ template< typename DescriptorT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > contains(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_contains< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; @@ -110,7 +110,7 @@ contains(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& subs * which is assumed to be a string, contains the specified substring. */ template< typename T, typename SubstringT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > contains(attribute_name const& name, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; diff --git a/3party/boost/boost/log/expressions/predicates/ends_with.hpp b/3party/boost/boost/log/expressions/predicates/ends_with.hpp index 83ef04350a..1e8785dad0 100644 --- a/3party/boost/boost/log/expressions/predicates/ends_with.hpp +++ b/3party/boost/boost/log/expressions/predicates/ends_with.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/utility/functional/ends_with.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -84,7 +84,7 @@ public: * which is assumed to be a string, ends with the specified substring. */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > > ends_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type; @@ -97,7 +97,7 @@ ends_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, Subst * which is assumed to be a string, ends with the specified substring. */ template< typename DescriptorT, template< typename > class ActorT, typename SubstringT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > ends_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_ends_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; @@ -110,7 +110,7 @@ ends_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& sub * which is assumed to be a string, ends with the specified substring. */ template< typename T, typename SubstringT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > > ends_with(attribute_name const& name, SubstringT const& substring) { typedef aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type; diff --git a/3party/boost/boost/log/expressions/predicates/has_attr.hpp b/3party/boost/boost/log/expressions/predicates/has_attr.hpp index 605d550f76..e4eb72e683 100644 --- a/3party/boost/boost/log/expressions/predicates/has_attr.hpp +++ b/3party/boost/boost/log/expressions/predicates/has_attr.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/utility/functional/nop.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -131,7 +131,7 @@ public: * presence in a log record. The node will also check that the attribute value has the specified type, if present. */ template< typename AttributeValueT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< AttributeValueT > > > has_attr(attribute_name const& name) +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< AttributeValueT > > > has_attr(attribute_name const& name) { typedef aux::unary_function_terminal< has_attribute< AttributeValueT > > terminal_type; phoenix::actor< terminal_type > act = {{ terminal_type(name) }}; @@ -142,7 +142,7 @@ BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribut * The function generates a terminal node in a template expression. The node will check for the attribute value * presence in a log record. */ -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< void > > > has_attr(attribute_name const& name) +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< void > > > has_attr(attribute_name const& name) { typedef aux::unary_function_terminal< has_attribute< void > > terminal_type; phoenix::actor< terminal_type > act = {{ terminal_type(name) }}; @@ -154,7 +154,7 @@ BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribut * presence in a log record. The node will also check that the attribute value has the specified type, if present. */ template< typename DescriptorT, template< typename > class ActorT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< has_attribute< typename DescriptorT::value_type > > > has_attr(attribute_keyword< DescriptorT, ActorT > const&) +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< has_attribute< typename DescriptorT::value_type > > > has_attr(attribute_keyword< DescriptorT, ActorT > const&) { typedef aux::unary_function_terminal< has_attribute< typename DescriptorT::value_type > > terminal_type; ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name()) }}; diff --git a/3party/boost/boost/log/expressions/predicates/is_debugger_present.hpp b/3party/boost/boost/log/expressions/predicates/is_debugger_present.hpp index cde74b0502..f7427c8a90 100644 --- a/3party/boost/boost/log/expressions/predicates/is_debugger_present.hpp +++ b/3party/boost/boost/log/expressions/predicates/is_debugger_present.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/expressions/predicates/is_in_range.hpp b/3party/boost/boost/log/expressions/predicates/is_in_range.hpp index 672bcfa025..e819d2bfe2 100644 --- a/3party/boost/boost/log/expressions/predicates/is_in_range.hpp +++ b/3party/boost/boost/log/expressions/predicates/is_in_range.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -28,7 +28,7 @@ #include <boost/log/utility/functional/in_range.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -85,7 +85,7 @@ public: * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>. */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename BoundaryT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type, FallbackPolicyT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type, FallbackPolicyT > > > is_in_range(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, BoundaryT const& least, BoundaryT const& most) { typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type; @@ -99,7 +99,7 @@ is_in_range(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, Bou * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>. */ template< typename DescriptorT, template< typename > class ActorT, typename BoundaryT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > > is_in_range(attribute_keyword< DescriptorT, ActorT > const&, BoundaryT const& least, BoundaryT const& most) { typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type; @@ -113,7 +113,7 @@ is_in_range(attribute_keyword< DescriptorT, ActorT > const&, BoundaryT const& le * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>. */ template< typename T, typename BoundaryT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > > +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > > is_in_range(attribute_name const& name, BoundaryT const& least, BoundaryT const& most) { typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type; diff --git a/3party/boost/boost/log/expressions/predicates/matches.hpp b/3party/boost/boost/log/expressions/predicates/matches.hpp index fed3ef7805..798f2e7e4f 100644 --- a/3party/boost/boost/log/expressions/predicates/matches.hpp +++ b/3party/boost/boost/log/expressions/predicates/matches.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/utility/functional/matches.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -39,18 +39,11 @@ namespace expressions { /*! * The predicate checks if the attribute value matches a regular expression. The attribute value is assumed to be of a string type. */ -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -template< typename T, typename RegexT, typename FallbackPolicyT = fallback_to_none > -using attribute_matches = aux::attribute_predicate< T, RegexT, matches_fun, FallbackPolicyT >; - -#else // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - template< typename T, typename RegexT, typename FallbackPolicyT = fallback_to_none > class attribute_matches : - public aux::attribute_predicate< T, RegexT, matches_fun, FallbackPolicyT > + public aux::attribute_predicate< T, typename boost::log::aux::match_traits< RegexT >::compiled_type, matches_fun, FallbackPolicyT > { - typedef aux::attribute_predicate< T, RegexT, matches_fun, FallbackPolicyT > base_type; + typedef aux::attribute_predicate< T, typename boost::log::aux::match_traits< RegexT >::compiled_type, matches_fun, FallbackPolicyT > base_type; public: /*! @@ -59,7 +52,7 @@ public: * \param name Attribute name * \param rex The regular expression to match the attribute value against */ - attribute_matches(attribute_name const& name, RegexT const& rex) : base_type(name, rex) + attribute_matches(attribute_name const& name, RegexT const& rex) : base_type(name, boost::log::aux::match_traits< RegexT >::compile(rex)) { } @@ -71,19 +64,17 @@ public: * \param arg Additional parameter for the fallback policy */ template< typename U > - attribute_matches(attribute_name const& name, RegexT const& rex, U const& arg) : base_type(name, rex, arg) + attribute_matches(attribute_name const& name, RegexT const& rex, U const& arg) : base_type(name, boost::log::aux::match_traits< RegexT >::compile(rex), arg) { } }; -#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - /*! * The function generates a terminal node in a template expression. The node will check if the attribute value, * which is assumed to be a string, matches the specified regular expression. */ template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename RegexT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< T, RegexT, FallbackPolicyT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< T, RegexT, FallbackPolicyT > > > matches(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, RegexT const& rex) { typedef aux::unary_function_terminal< attribute_matches< T, RegexT, FallbackPolicyT > > terminal_type; @@ -96,7 +87,7 @@ matches(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, RegexT * which is assumed to be a string, matches the specified regular expression. */ template< typename DescriptorT, template< typename > class ActorT, typename RegexT > -BOOST_LOG_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< typename DescriptorT::value_type, RegexT > > > +BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< typename DescriptorT::value_type, RegexT > > > matches(attribute_keyword< DescriptorT, ActorT > const&, RegexT const& rex) { typedef aux::unary_function_terminal< attribute_matches< typename DescriptorT::value_type, RegexT > > terminal_type; @@ -109,7 +100,7 @@ matches(attribute_keyword< DescriptorT, ActorT > const&, RegexT const& rex) * which is assumed to be a string, matches the specified regular expression. */ template< typename T, typename RegexT > -BOOST_LOG_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_matches< T, RegexT > > > +BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_matches< T, RegexT > > > matches(attribute_name const& name, RegexT const& rex) { typedef aux::unary_function_terminal< attribute_matches< T, RegexT > > terminal_type; diff --git a/3party/boost/boost/log/expressions/record.hpp b/3party/boost/boost/log/expressions/record.hpp index cf436b6a52..d695c2aa65 100644 --- a/3party/boost/boost/log/expressions/record.hpp +++ b/3party/boost/boost/log/expressions/record.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/auto_flush.hpp b/3party/boost/boost/log/keywords/auto_flush.hpp index 98dfb10054..0c3b53a6a3 100644 --- a/3party/boost/boost/log/keywords/auto_flush.hpp +++ b/3party/boost/boost/log/keywords/auto_flush.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/channel.hpp b/3party/boost/boost/log/keywords/channel.hpp index a6521f20c2..b4bbb17a8f 100644 --- a/3party/boost/boost/log/keywords/channel.hpp +++ b/3party/boost/boost/log/keywords/channel.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/delimiter.hpp b/3party/boost/boost/log/keywords/delimiter.hpp index b6722e0625..80a2e70366 100644 --- a/3party/boost/boost/log/keywords/delimiter.hpp +++ b/3party/boost/boost/log/keywords/delimiter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/depth.hpp b/3party/boost/boost/log/keywords/depth.hpp index c1acfa21df..87ffcc98d4 100644 --- a/3party/boost/boost/log/keywords/depth.hpp +++ b/3party/boost/boost/log/keywords/depth.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/empty_marker.hpp b/3party/boost/boost/log/keywords/empty_marker.hpp new file mode 100644 index 0000000000..6108315be7 --- /dev/null +++ b/3party/boost/boost/log/keywords/empty_marker.hpp @@ -0,0 +1,40 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 keywords/empty_marker.hpp + * \author Andrey Semashev + * \date 15.03.2014 + * + * The header contains the \c empty_marker keyword declaration. + */ + +#ifndef BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_ +#define BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_ + +#include <boost/parameter/keyword.hpp> +#include <boost/log/detail/config.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace keywords { + +//! The keyword for passing the marker for the empty list of scopes to the \c named_scope formatter +BOOST_PARAMETER_KEYWORD(tag, empty_marker) + +} // namespace keywords + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#endif // BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/keywords/facility.hpp b/3party/boost/boost/log/keywords/facility.hpp index 8fab71ddb0..04d9b91b7b 100644 --- a/3party/boost/boost/log/keywords/facility.hpp +++ b/3party/boost/boost/log/keywords/facility.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/file_name.hpp b/3party/boost/boost/log/keywords/file_name.hpp index 153c61db95..ce70a54ccd 100644 --- a/3party/boost/boost/log/keywords/file_name.hpp +++ b/3party/boost/boost/log/keywords/file_name.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/filter.hpp b/3party/boost/boost/log/keywords/filter.hpp index bc1a080f0e..7b5ab06b5f 100644 --- a/3party/boost/boost/log/keywords/filter.hpp +++ b/3party/boost/boost/log/keywords/filter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/format.hpp b/3party/boost/boost/log/keywords/format.hpp index f02e72b13c..1e5c450203 100644 --- a/3party/boost/boost/log/keywords/format.hpp +++ b/3party/boost/boost/log/keywords/format.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/ident.hpp b/3party/boost/boost/log/keywords/ident.hpp index dafda8cd73..4847cc1f4f 100644 --- a/3party/boost/boost/log/keywords/ident.hpp +++ b/3party/boost/boost/log/keywords/ident.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/incomplete_marker.hpp b/3party/boost/boost/log/keywords/incomplete_marker.hpp new file mode 100644 index 0000000000..1e6d3ab18e --- /dev/null +++ b/3party/boost/boost/log/keywords/incomplete_marker.hpp @@ -0,0 +1,40 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 keywords/incomplete_marker.hpp + * \author Andrey Semashev + * \date 15.03.2014 + * + * The header contains the \c incomplete_marker keyword declaration. + */ + +#ifndef BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_ +#define BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_ + +#include <boost/parameter/keyword.hpp> +#include <boost/log/detail/config.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace keywords { + +//! The keyword for passing incomplete marker for the list of scopes to the \c named_scope formatter +BOOST_PARAMETER_KEYWORD(tag, incomplete_marker) + +} // namespace keywords + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#endif // BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/keywords/ip_version.hpp b/3party/boost/boost/log/keywords/ip_version.hpp index 6e8f79ba76..c788e191e5 100644 --- a/3party/boost/boost/log/keywords/ip_version.hpp +++ b/3party/boost/boost/log/keywords/ip_version.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/iteration.hpp b/3party/boost/boost/log/keywords/iteration.hpp index ae4fd51e01..6fee81ee95 100644 --- a/3party/boost/boost/log/keywords/iteration.hpp +++ b/3party/boost/boost/log/keywords/iteration.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/log_name.hpp b/3party/boost/boost/log/keywords/log_name.hpp index 8fc3e6ade0..e252d29722 100644 --- a/3party/boost/boost/log/keywords/log_name.hpp +++ b/3party/boost/boost/log/keywords/log_name.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/log_source.hpp b/3party/boost/boost/log/keywords/log_source.hpp index 622413c3bc..94f51efb12 100644 --- a/3party/boost/boost/log/keywords/log_source.hpp +++ b/3party/boost/boost/log/keywords/log_source.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/max_size.hpp b/3party/boost/boost/log/keywords/max_size.hpp index b996810b11..5a91797fa9 100644 --- a/3party/boost/boost/log/keywords/max_size.hpp +++ b/3party/boost/boost/log/keywords/max_size.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/message_file.hpp b/3party/boost/boost/log/keywords/message_file.hpp index af8c762354..2f9c8f7f3c 100644 --- a/3party/boost/boost/log/keywords/message_file.hpp +++ b/3party/boost/boost/log/keywords/message_file.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/min_free_space.hpp b/3party/boost/boost/log/keywords/min_free_space.hpp index 958f29d957..dc6958c2b8 100644 --- a/3party/boost/boost/log/keywords/min_free_space.hpp +++ b/3party/boost/boost/log/keywords/min_free_space.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/open_mode.hpp b/3party/boost/boost/log/keywords/open_mode.hpp index 0e3ae0d17c..6456b42037 100644 --- a/3party/boost/boost/log/keywords/open_mode.hpp +++ b/3party/boost/boost/log/keywords/open_mode.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/order.hpp b/3party/boost/boost/log/keywords/order.hpp index 634ed17ee1..7e2cc10708 100644 --- a/3party/boost/boost/log/keywords/order.hpp +++ b/3party/boost/boost/log/keywords/order.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/ordering_window.hpp b/3party/boost/boost/log/keywords/ordering_window.hpp index 5b06ec1bcc..6458aba343 100644 --- a/3party/boost/boost/log/keywords/ordering_window.hpp +++ b/3party/boost/boost/log/keywords/ordering_window.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/registration.hpp b/3party/boost/boost/log/keywords/registration.hpp index 884e0ca280..41db2d1972 100644 --- a/3party/boost/boost/log/keywords/registration.hpp +++ b/3party/boost/boost/log/keywords/registration.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/rotation_size.hpp b/3party/boost/boost/log/keywords/rotation_size.hpp index be15c70b09..f87841edbc 100644 --- a/3party/boost/boost/log/keywords/rotation_size.hpp +++ b/3party/boost/boost/log/keywords/rotation_size.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/scan_method.hpp b/3party/boost/boost/log/keywords/scan_method.hpp index 6dee866087..8a203de53e 100644 --- a/3party/boost/boost/log/keywords/scan_method.hpp +++ b/3party/boost/boost/log/keywords/scan_method.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/severity.hpp b/3party/boost/boost/log/keywords/severity.hpp index a8636b8589..cc40735b6b 100644 --- a/3party/boost/boost/log/keywords/severity.hpp +++ b/3party/boost/boost/log/keywords/severity.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/start_thread.hpp b/3party/boost/boost/log/keywords/start_thread.hpp index 9e90716828..bfe9d7cc19 100644 --- a/3party/boost/boost/log/keywords/start_thread.hpp +++ b/3party/boost/boost/log/keywords/start_thread.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/target.hpp b/3party/boost/boost/log/keywords/target.hpp index e8301edb51..00e36fb1e5 100644 --- a/3party/boost/boost/log/keywords/target.hpp +++ b/3party/boost/boost/log/keywords/target.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/time_based_rotation.hpp b/3party/boost/boost/log/keywords/time_based_rotation.hpp index 6cddbe256f..7e613dda11 100644 --- a/3party/boost/boost/log/keywords/time_based_rotation.hpp +++ b/3party/boost/boost/log/keywords/time_based_rotation.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/keywords/use_impl.hpp b/3party/boost/boost/log/keywords/use_impl.hpp index b104098cf9..422e4b36ea 100644 --- a/3party/boost/boost/log/keywords/use_impl.hpp +++ b/3party/boost/boost/log/keywords/use_impl.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/parameter/keyword.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks.hpp b/3party/boost/boost/log/sinks.hpp index ed6abef84a..95a4131401 100644 --- a/3party/boost/boost/log/sinks.hpp +++ b/3party/boost/boost/log/sinks.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -40,7 +40,7 @@ #include <boost/log/sinks/event_log_backend.hpp> #endif // BOOST_WINDOWS -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/async_frontend.hpp b/3party/boost/boost/log/sinks/async_frontend.hpp index 1430695c01..d85421e8a1 100644 --- a/3party/boost/boost/log/sinks/async_frontend.hpp +++ b/3party/boost/boost/log/sinks/async_frontend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,12 +15,9 @@ #ifndef BOOST_LOG_SINKS_ASYNC_FRONTEND_HPP_INCLUDED_ #define BOOST_LOG_SINKS_ASYNC_FRONTEND_HPP_INCLUDED_ -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> -#include <boost/static_assert.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -29,8 +26,11 @@ #endif #include <boost/bind.hpp> +#include <boost/static_assert.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/thread/locks.hpp> -#include <boost/thread/mutex.hpp> +#include <boost/thread/recursive_mutex.hpp> #include <boost/thread/thread.hpp> #include <boost/thread/condition_variable.hpp> #include <boost/log/exceptions.hpp> @@ -86,7 +86,6 @@ namespace sinks { template< typename SinkBackendT, typename QueueingStrategyT = unbounded_fifo_queue > class asynchronous_sink : public aux::make_sink_frontend_base< SinkBackendT >::type, - private boost::log::aux::locking_ptr_counter_base, public QueueingStrategyT { typedef typename aux::make_sink_frontend_base< SinkBackendT >::type base_type; @@ -94,7 +93,7 @@ class asynchronous_sink : private: //! Backend synchronization mutex type - typedef boost::mutex backend_mutex_type; + typedef boost::recursive_mutex backend_mutex_type; //! Frontend synchronization mutex type typedef typename base_type::mutex_type frontend_mutex_type; @@ -187,7 +186,7 @@ public: #ifndef BOOST_LOG_DOXYGEN_PASS //! A pointer type that locks the backend until it's destroyed - typedef boost::log::aux::locking_ptr< sink_backend_type > locked_backend_ptr; + typedef boost::log::aux::locking_ptr< sink_backend_type, backend_mutex_type > locked_backend_ptr; #else // BOOST_LOG_DOXYGEN_PASS @@ -271,9 +270,7 @@ public: */ locked_backend_ptr locked_backend() { - return locked_backend_ptr( - m_pBackend, - static_cast< boost::log::aux::locking_ptr_counter_base& >(*this)); + return locked_backend_ptr(m_pBackend, m_BackendMutex); } /*! @@ -425,18 +422,13 @@ private: boost::thread(boost::bind(&asynchronous_sink::run, this)).swap(m_DedicatedFeedingThread); } - // locking_ptr_counter_base methods - void lock() { m_BackendMutex.lock(); } - bool try_lock() { return m_BackendMutex.try_lock(); } - void unlock() { m_BackendMutex.unlock(); } - //! The record feeding loop void do_feed_records() { while (!m_StopRequested) { record_view rec; - register bool dequeued = false; + bool dequeued = false; if (!m_FlushRequested) dequeued = queue_base_type::try_dequeue_ready(rec); else diff --git a/3party/boost/boost/log/sinks/attribute_mapping.hpp b/3party/boost/boost/log/sinks/attribute_mapping.hpp index 1f1bc5c931..a336265ff4 100644 --- a/3party/boost/boost/log/sinks/attribute_mapping.hpp +++ b/3party/boost/boost/log/sinks/attribute_mapping.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/attributes/value_visitation.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/basic_sink_backend.hpp b/3party/boost/boost/log/sinks/basic_sink_backend.hpp index 06c79d8f4d..9517bd2803 100644 --- a/3party/boost/boost/log/sinks/basic_sink_backend.hpp +++ b/3party/boost/boost/log/sinks/basic_sink_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/attributes/attribute_value_set.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -45,10 +45,10 @@ struct basic_sink_backend //! Frontend requirements tag typedef FrontendRequirementsT frontend_requirements; - BOOST_LOG_DEFAULTED_FUNCTION(basic_sink_backend(), {}) + BOOST_DEFAULTED_FUNCTION(basic_sink_backend(), {}) - BOOST_LOG_DELETED_FUNCTION(basic_sink_backend(basic_sink_backend const&)) - BOOST_LOG_DELETED_FUNCTION(basic_sink_backend& operator= (basic_sink_backend const&)) + BOOST_DELETED_FUNCTION(basic_sink_backend(basic_sink_backend const&)) + BOOST_DELETED_FUNCTION(basic_sink_backend& operator= (basic_sink_backend const&)) }; /*! diff --git a/3party/boost/boost/log/sinks/basic_sink_frontend.hpp b/3party/boost/boost/log/sinks/basic_sink_frontend.hpp index 1d687f6955..bd3f6a08f6 100644 --- a/3party/boost/boost/log/sinks/basic_sink_frontend.hpp +++ b/3party/boost/boost/log/sinks/basic_sink_frontend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -32,11 +32,10 @@ #include <boost/thread/locks.hpp> #include <boost/log/detail/locks.hpp> #include <boost/log/detail/light_rw_mutex.hpp> -#include <boost/concept_check.hpp> #endif // !defined(BOOST_LOG_NO_THREADS) #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/block_on_overflow.hpp b/3party/boost/boost/log/sinks/block_on_overflow.hpp index 4dd3420989..a23b5ff875 100644 --- a/3party/boost/boost/log/sinks/block_on_overflow.hpp +++ b/3party/boost/boost/log/sinks/block_on_overflow.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -74,16 +74,11 @@ private: //! Blocked threads thread_contexts m_thread_contexts; -private: - // Copying prohibited - block_on_overflow(block_on_overflow const&); - block_on_overflow& operator= (block_on_overflow const&); - public: /*! * Default constructor. */ - block_on_overflow() {} + BOOST_DEFAULTED_FUNCTION(block_on_overflow(), {}) /*! * This method is called by the queue when overflow is detected. @@ -134,6 +129,10 @@ public: m_thread_contexts.pop_front(); } } + + // Copying prohibited + BOOST_DELETED_FUNCTION(block_on_overflow(block_on_overflow const&)) + BOOST_DELETED_FUNCTION(block_on_overflow& operator= (block_on_overflow const&)) #endif // BOOST_LOG_DOXYGEN_PASS }; diff --git a/3party/boost/boost/log/sinks/bounded_fifo_queue.hpp b/3party/boost/boost/log/sinks/bounded_fifo_queue.hpp index 82ec3c79a3..59b157e259 100644 --- a/3party/boost/boost/log/sinks/bounded_fifo_queue.hpp +++ b/3party/boost/boost/log/sinks/bounded_fifo_queue.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -139,8 +139,7 @@ protected: { rec.swap(m_queue.front()); m_queue.pop(); - if (size == MaxQueueSizeV) - overflow_strategy::on_queue_space_available(); + overflow_strategy::on_queue_space_available(); return true; } @@ -159,8 +158,7 @@ protected: { rec.swap(m_queue.front()); m_queue.pop(); - if (size == MaxQueueSizeV) - overflow_strategy::on_queue_space_available(); + overflow_strategy::on_queue_space_available(); return true; } else diff --git a/3party/boost/boost/log/sinks/bounded_ordering_queue.hpp b/3party/boost/boost/log/sinks/bounded_ordering_queue.hpp index 3a0057f8fb..76fe8d6044 100644 --- a/3party/boost/boost/log/sinks/bounded_ordering_queue.hpp +++ b/3party/boost/boost/log/sinks/bounded_ordering_queue.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -30,14 +30,13 @@ #include <queue> #include <vector> #include <boost/cstdint.hpp> -#include <boost/move/core.hpp> -#include <boost/move/utility.hpp> #include <boost/thread/locks.hpp> #include <boost/thread/mutex.hpp> #include <boost/thread/condition_variable.hpp> #include <boost/thread/thread_time.hpp> #include <boost/date_time/posix_time/posix_time_types.hpp> #include <boost/log/detail/timestamp.hpp> +#include <boost/log/detail/enqueued_record.hpp> #include <boost/log/keywords/order.hpp> #include <boost/log/keywords/ordering_window.hpp> #include <boost/log/core/record_view.hpp> @@ -75,64 +74,12 @@ class bounded_ordering_queue : private: typedef OverflowStrategyT overflow_strategy; typedef boost::mutex mutex_type; - - //! Log record with enqueueing timestamp - class enqueued_record - { - BOOST_COPYABLE_AND_MOVABLE(enqueued_record) - - public: - //! Ordering predicate - struct order : - public OrderT - { - typedef typename OrderT::result_type result_type; - - order() {} - order(order const& that) : OrderT(static_cast< OrderT const& >(that)) {} - order(OrderT const& that) : OrderT(that) {} - - result_type operator() (enqueued_record const& left, enqueued_record const& right) const - { - // std::priority_queue requires ordering with semantics of std::greater, so we swap arguments - return OrderT::operator() (right.m_record, left.m_record); - } - }; - - boost::log::aux::timestamp m_timestamp; - record_view m_record; - - enqueued_record(enqueued_record const& that) : m_timestamp(that.m_timestamp), m_record(that.m_record) - { - } - enqueued_record(BOOST_RV_REF(enqueued_record) that) : - m_timestamp(that.m_timestamp), - m_record(boost::move(that.m_record)) - { - } - explicit enqueued_record(record_view const& rec) : - m_timestamp(boost::log::aux::get_timestamp()), - m_record(rec) - { - } - enqueued_record& operator= (BOOST_COPY_ASSIGN_REF(enqueued_record) that) - { - m_timestamp = that.m_timestamp; - m_record = that.m_record; - return *this; - } - enqueued_record& operator= (BOOST_RV_REF(enqueued_record) that) - { - m_timestamp = that.m_timestamp; - m_record = boost::move(that.m_record); - return *this; - } - }; + typedef sinks::aux::enqueued_record enqueued_record; typedef std::priority_queue< enqueued_record, std::vector< enqueued_record >, - typename enqueued_record::order + enqueued_record::order< OrderT > > queue_type; private: @@ -233,8 +180,7 @@ protected: // We got a new element rec = elem.m_record; m_queue.pop(); - if (size == MaxQueueSizeV) - overflow_strategy::on_queue_space_available(); + overflow_strategy::on_queue_space_available(); return true; } } @@ -252,8 +198,7 @@ protected: enqueued_record const& elem = m_queue.top(); rec = elem.m_record; m_queue.pop(); - if (size == MaxQueueSizeV) - overflow_strategy::on_queue_space_available(); + overflow_strategy::on_queue_space_available(); return true; } @@ -277,8 +222,7 @@ protected: { rec = elem.m_record; m_queue.pop(); - if (size == MaxQueueSizeV) - overflow_strategy::on_queue_space_available(); + overflow_strategy::on_queue_space_available(); return true; } else diff --git a/3party/boost/boost/log/sinks/debug_output_backend.hpp b/3party/boost/boost/log/sinks/debug_output_backend.hpp index b3cb5f1c6c..034390595a 100644 --- a/3party/boost/boost/log/sinks/debug_output_backend.hpp +++ b/3party/boost/boost/log/sinks/debug_output_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <string> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/drop_on_overflow.hpp b/3party/boost/boost/log/sinks/drop_on_overflow.hpp index 0857f9048c..cbc2d6370c 100644 --- a/3party/boost/boost/log/sinks/drop_on_overflow.hpp +++ b/3party/boost/boost/log/sinks/drop_on_overflow.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/core/record_view.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/event_log_backend.hpp b/3party/boost/boost/log/sinks/event_log_backend.hpp index 286fcfac75..5e539e57a9 100644 --- a/3party/boost/boost/log/sinks/event_log_backend.hpp +++ b/3party/boost/boost/log/sinks/event_log_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/event_log_constants.hpp b/3party/boost/boost/log/sinks/event_log_constants.hpp index 148008ba7e..e6c361a420 100644 --- a/3party/boost/boost/log/sinks/event_log_constants.hpp +++ b/3party/boost/boost/log/sinks/event_log_constants.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/frontend_requirements.hpp b/3party/boost/boost/log/sinks/frontend_requirements.hpp index 79b9dad443..086b023b29 100644 --- a/3party/boost/boost/log/sinks/frontend_requirements.hpp +++ b/3party/boost/boost/log/sinks/frontend_requirements.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -28,7 +28,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/sink.hpp b/3party/boost/boost/log/sinks/sink.hpp index e96ac2b50e..516957d44b 100644 --- a/3party/boost/boost/log/sinks/sink.hpp +++ b/3party/boost/boost/log/sinks/sink.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/attributes/attribute_value_set.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -100,8 +100,8 @@ public: */ bool is_cross_thread() const BOOST_NOEXCEPT { return m_cross_thread; } - BOOST_LOG_DELETED_FUNCTION(sink(sink const&)) - BOOST_LOG_DELETED_FUNCTION(sink& operator= (sink const&)) + BOOST_DELETED_FUNCTION(sink(sink const&)) + BOOST_DELETED_FUNCTION(sink& operator= (sink const&)) }; } // namespace sinks diff --git a/3party/boost/boost/log/sinks/sync_frontend.hpp b/3party/boost/boost/log/sinks/sync_frontend.hpp index 22def8537c..146cc9dc44 100644 --- a/3party/boost/boost/log/sinks/sync_frontend.hpp +++ b/3party/boost/boost/log/sinks/sync_frontend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -25,10 +25,10 @@ #error Boost.Log: Synchronous sink frontend is only supported in multithreaded environment #endif -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> #include <boost/static_assert.hpp> -#include <boost/thread/mutex.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> +#include <boost/thread/recursive_mutex.hpp> #include <boost/log/detail/locking_ptr.hpp> #include <boost/log/detail/parameter_tools.hpp> #include <boost/log/core/record_view.hpp> @@ -59,14 +59,13 @@ namespace sinks { */ template< typename SinkBackendT > class synchronous_sink : - public aux::make_sink_frontend_base< SinkBackendT >::type, - private boost::log::aux::locking_ptr_counter_base + public aux::make_sink_frontend_base< SinkBackendT >::type { typedef typename aux::make_sink_frontend_base< SinkBackendT >::type base_type; private: //! Synchronization mutex type - typedef boost::mutex backend_mutex_type; + typedef boost::recursive_mutex backend_mutex_type; public: //! Sink implementation type @@ -78,7 +77,7 @@ public: #ifndef BOOST_LOG_DOXYGEN_PASS //! A pointer type that locks the backend until it's destroyed - typedef boost::log::aux::locking_ptr< sink_backend_type > locked_backend_ptr; + typedef boost::log::aux::locking_ptr< sink_backend_type, backend_mutex_type > locked_backend_ptr; #else // BOOST_LOG_DOXYGEN_PASS @@ -124,9 +123,7 @@ public: */ locked_backend_ptr locked_backend() { - return locked_backend_ptr( - m_pBackend, - static_cast< boost::log::aux::locking_ptr_counter_base& >(*this)); + return locked_backend_ptr(m_pBackend, m_BackendMutex); } /*! @@ -154,14 +151,6 @@ public: { base_type::flush_backend(m_BackendMutex, *m_pBackend); } - -private: -#ifndef BOOST_LOG_DOXYGEN_PASS - // locking_ptr_counter_base methods - void lock() { m_BackendMutex.lock(); } - bool try_lock() { return m_BackendMutex.try_lock(); } - void unlock() { m_BackendMutex.unlock(); } -#endif // BOOST_LOG_DOXYGEN_PASS }; #undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL diff --git a/3party/boost/boost/log/sinks/syslog_backend.hpp b/3party/boost/boost/log/sinks/syslog_backend.hpp index de57f68463..35cfb540ab 100644 --- a/3party/boost/boost/log/sinks/syslog_backend.hpp +++ b/3party/boost/boost/log/sinks/syslog_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,14 +17,13 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #ifndef BOOST_LOG_WITHOUT_SYSLOG #include <string> -#include <boost/shared_ptr.hpp> #include <boost/log/detail/asio_fwd.hpp> #include <boost/log/detail/light_function.hpp> #include <boost/log/detail/parameter_tools.hpp> diff --git a/3party/boost/boost/log/sinks/syslog_constants.hpp b/3party/boost/boost/log/sinks/syslog_constants.hpp index 5fe7aae94d..d320ebbbac 100644 --- a/3party/boost/boost/log/sinks/syslog_constants.hpp +++ b/3party/boost/boost/log/sinks/syslog_constants.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/text_file_backend.hpp b/3party/boost/boost/log/sinks/text_file_backend.hpp index 57dab240b8..1d39a633c0 100644 --- a/3party/boost/boost/log/sinks/text_file_backend.hpp +++ b/3party/boost/boost/log/sinks/text_file_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <ostream> #include <boost/limits.hpp> #include <boost/cstdint.hpp> -#include <boost/shared_ptr.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> #include <boost/date_time/date_defs.hpp> #include <boost/date_time/special_defs.hpp> #include <boost/date_time/gregorian/greg_day.hpp> @@ -41,7 +41,7 @@ #include <boost/log/sinks/frontend_requirements.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -71,7 +71,7 @@ struct BOOST_LOG_NO_VTABLE collector /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(collector(), {}) + BOOST_DEFAULTED_FUNCTION(collector(), {}) /*! * Virtual destructor @@ -119,8 +119,8 @@ struct BOOST_LOG_NO_VTABLE collector virtual uintmax_t scan_for_files( scan_method method, filesystem::path const& pattern = filesystem::path(), unsigned int* counter = 0) = 0; - BOOST_LOG_DELETED_FUNCTION(collector(collector const&)) - BOOST_LOG_DELETED_FUNCTION(collector& operator= (collector const&)) + BOOST_DELETED_FUNCTION(collector(collector const&)) + BOOST_DELETED_FUNCTION(collector& operator= (collector const&)) }; namespace aux { diff --git a/3party/boost/boost/log/sinks/text_multifile_backend.hpp b/3party/boost/boost/log/sinks/text_multifile_backend.hpp index 914c91cf8c..d2f897892e 100644 --- a/3party/boost/boost/log/sinks/text_multifile_backend.hpp +++ b/3party/boost/boost/log/sinks/text_multifile_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -30,7 +30,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/text_ostream_backend.hpp b/3party/boost/boost/log/sinks/text_ostream_backend.hpp index 4681de7304..4c93d31357 100644 --- a/3party/boost/boost/log/sinks/text_ostream_backend.hpp +++ b/3party/boost/boost/log/sinks/text_ostream_backend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,13 +16,13 @@ #define BOOST_LOG_SINKS_TEXT_OSTREAM_BACKEND_HPP_INCLUDED_ #include <ostream> -#include <boost/shared_ptr.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/sinks/basic_sink_backend.hpp> #include <boost/log/sinks/frontend_requirements.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/unbounded_fifo_queue.hpp b/3party/boost/boost/log/sinks/unbounded_fifo_queue.hpp index 4e48513594..2782c5476c 100644 --- a/3party/boost/boost/log/sinks/unbounded_fifo_queue.hpp +++ b/3party/boost/boost/log/sinks/unbounded_fifo_queue.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sinks/unbounded_ordering_queue.hpp b/3party/boost/boost/log/sinks/unbounded_ordering_queue.hpp index ffd46babe3..f67e629a3e 100644 --- a/3party/boost/boost/log/sinks/unbounded_ordering_queue.hpp +++ b/3party/boost/boost/log/sinks/unbounded_ordering_queue.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -29,14 +29,13 @@ #include <queue> #include <vector> #include <boost/cstdint.hpp> -#include <boost/move/core.hpp> -#include <boost/move/utility.hpp> #include <boost/thread/locks.hpp> #include <boost/thread/mutex.hpp> #include <boost/thread/condition_variable.hpp> #include <boost/thread/thread_time.hpp> #include <boost/date_time/posix_time/posix_time_types.hpp> #include <boost/log/detail/timestamp.hpp> +#include <boost/log/detail/enqueued_record.hpp> #include <boost/log/keywords/order.hpp> #include <boost/log/keywords/ordering_window.hpp> #include <boost/log/core/record_view.hpp> @@ -71,64 +70,12 @@ class unbounded_ordering_queue { private: typedef boost::mutex mutex_type; - - //! Log record with enqueueing timestamp - class enqueued_record - { - BOOST_COPYABLE_AND_MOVABLE(enqueued_record) - - public: - //! Ordering predicate - struct order : - public OrderT - { - typedef typename OrderT::result_type result_type; - - order() {} - order(order const& that) : OrderT(static_cast< OrderT const& >(that)) {} - order(OrderT const& that) : OrderT(that) {} - - result_type operator() (enqueued_record const& left, enqueued_record const& right) const - { - // std::priority_queue requires ordering with semantics of std::greater, so we swap arguments - return OrderT::operator() (right.m_record, left.m_record); - } - }; - - boost::log::aux::timestamp m_timestamp; - record_view m_record; - - enqueued_record(enqueued_record const& that) : m_timestamp(that.m_timestamp), m_record(that.m_record) - { - } - enqueued_record(BOOST_RV_REF(enqueued_record) that) : - m_timestamp(that.m_timestamp), - m_record(boost::move(that.m_record)) - { - } - explicit enqueued_record(record_view const& rec) : - m_timestamp(boost::log::aux::get_timestamp()), - m_record(rec) - { - } - enqueued_record& operator= (BOOST_COPY_ASSIGN_REF(enqueued_record) that) - { - m_timestamp = that.m_timestamp; - m_record = that.m_record; - return *this; - } - enqueued_record& operator= (BOOST_RV_REF(enqueued_record) that) - { - m_timestamp = that.m_timestamp; - m_record = boost::move(that.m_record); - return *this; - } - }; + typedef sinks::aux::enqueued_record enqueued_record; typedef std::priority_queue< enqueued_record, std::vector< enqueued_record >, - typename enqueued_record::order + enqueued_record::order< OrderT > > queue_type; private: diff --git a/3party/boost/boost/log/sinks/unlocked_frontend.hpp b/3party/boost/boost/log/sinks/unlocked_frontend.hpp index ca89a73a19..ab144d57b8 100644 --- a/3party/boost/boost/log/sinks/unlocked_frontend.hpp +++ b/3party/boost/boost/log/sinks/unlocked_frontend.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,9 +15,9 @@ #ifndef BOOST_LOG_SINKS_UNLOCKED_FRONTEND_HPP_INCLUDED_ #define BOOST_LOG_SINKS_UNLOCKED_FRONTEND_HPP_INCLUDED_ -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> #include <boost/static_assert.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/parameter_tools.hpp> #include <boost/log/detail/fake_mutex.hpp> @@ -25,7 +25,7 @@ #include <boost/log/sinks/frontend_requirements.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/basic_logger.hpp b/3party/boost/boost/log/sources/basic_logger.hpp index 5adac6e155..0f0842934b 100644 --- a/3party/boost/boost/log/sources/basic_logger.hpp +++ b/3party/boost/boost/log/sources/basic_logger.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,6 @@ #include <utility> #include <ostream> #include <boost/assert.hpp> -#include <boost/shared_ptr.hpp> #include <boost/move/core.hpp> #include <boost/move/utility.hpp> #include <boost/utility/addressof.hpp> @@ -41,7 +40,7 @@ #include <boost/log/sources/threading_models.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -101,7 +100,7 @@ public: //! Lock requirement for the remove_all_attributes_unlocked method typedef boost::log::aux::exclusive_lock_guard< threading_model > remove_all_attributes_lock; //! Lock requirement for the get_attributes method - typedef boost::log::aux::shared_lock_guard< threading_model > get_attributes_lock; + typedef boost::log::aux::shared_lock_guard< const threading_model > get_attributes_lock; //! Lock requirement for the open_record_unlocked method typedef boost::log::aux::shared_lock_guard< threading_model > open_record_lock; //! Lock requirement for the set_attributes method @@ -111,7 +110,7 @@ public: typedef no_lock< threading_model > add_attribute_lock; typedef no_lock< threading_model > remove_attribute_lock; typedef no_lock< threading_model > remove_all_attributes_lock; - typedef no_lock< threading_model > get_attributes_lock; + typedef no_lock< const threading_model > get_attributes_lock; typedef no_lock< threading_model > open_record_lock; typedef no_lock< threading_model > set_attributes_lock; #endif @@ -285,7 +284,7 @@ protected: } //! Assignment is closed (should be implemented through copy and swap in the final class) - BOOST_LOG_DELETED_FUNCTION(basic_logger& operator= (basic_logger const&)) + BOOST_DELETED_FUNCTION(basic_logger& operator= (basic_logger const&)) }; /*! @@ -599,7 +598,7 @@ protected: #define BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_IMPL(class_type, typename_keyword)\ public:\ - BOOST_LOG_DEFAULTED_FUNCTION(class_type(), {})\ + BOOST_DEFAULTED_FUNCTION(class_type(), {})\ class_type(class_type const& that) : class_type::logger_base(\ static_cast< typename_keyword() class_type::logger_base const& >(that)) {}\ class_type(BOOST_RV_REF(class_type) that) : class_type::logger_base(\ diff --git a/3party/boost/boost/log/sources/channel_feature.hpp b/3party/boost/boost/log/sources/channel_feature.hpp index 8e6079d66d..c93ee6fa2d 100644 --- a/3party/boost/boost/log/sources/channel_feature.hpp +++ b/3party/boost/boost/log/sources/channel_feature.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/core/record.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/channel_logger.hpp b/3party/boost/boost/log/sources/channel_logger.hpp index e3414de199..737faa1f17 100644 --- a/3party/boost/boost/log/sources/channel_logger.hpp +++ b/3party/boost/boost/log/sources/channel_logger.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/keywords/channel.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/exception_handler_feature.hpp b/3party/boost/boost/log/sources/exception_handler_feature.hpp index 21b516cfd0..d665d0d84b 100644 --- a/3party/boost/boost/log/sources/exception_handler_feature.hpp +++ b/3party/boost/boost/log/sources/exception_handler_feature.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -22,6 +22,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/light_function.hpp> #include <boost/log/detail/locks.hpp> +#include <boost/log/core/record.hpp> #include <boost/log/sources/threading_models.hpp> #include <boost/log/utility/strictest_lock.hpp> #if !defined(BOOST_LOG_NO_THREADS) @@ -29,7 +30,7 @@ #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/features.hpp b/3party/boost/boost/log/sources/features.hpp index ca19d0b4cf..295cc0bb4f 100644 --- a/3party/boost/boost/log/sources/features.hpp +++ b/3party/boost/boost/log/sources/features.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,15 +18,15 @@ #include <boost/mpl/lambda.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #include <boost/preprocessor/repetition/enum_params.hpp> +#include <boost/preprocessor/repetition/enum_binary_params.hpp> #include <boost/preprocessor/repetition/enum_shifted_params.hpp> -#include <boost/preprocessor/repetition/enum_shifted_binary_params.hpp> #include <boost/preprocessor/facilities/intercept.hpp> //! The macro defines the maximum number of features that can be specified for a logger diff --git a/3party/boost/boost/log/sources/global_logger_storage.hpp b/3party/boost/boost/log/sources/global_logger_storage.hpp index 37acdb7ce0..65811edd2e 100644 --- a/3party/boost/boost/log/sources/global_logger_storage.hpp +++ b/3party/boost/boost/log/sources/global_logger_storage.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,15 +17,15 @@ #include <typeinfo> #include <stdexcept> -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/preprocessor/seq/enum.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/singleton.hpp> #include <boost/log/detail/visible_type.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -38,7 +38,7 @@ namespace sources { namespace aux { //! The base class for logger holders -struct BOOST_LOG_NO_VTABLE BOOST_LOG_VISIBLE logger_holder_base +struct BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE logger_holder_base { //! The source file name where the logger was registered const char* m_RegistrationFile; @@ -56,7 +56,7 @@ struct BOOST_LOG_NO_VTABLE BOOST_LOG_VISIBLE logger_holder_base //! The actual logger holder class template< typename LoggerT > -struct BOOST_LOG_VISIBLE logger_holder : +struct BOOST_SYMBOL_VISIBLE logger_holder : public logger_holder_base { //! The logger instance @@ -79,9 +79,9 @@ struct global_storage BOOST_LOG_API static shared_ptr< logger_holder_base > get_or_init(std::type_info const& key, initializer_t initializer); // Non-constructible, non-copyable, non-assignable - BOOST_LOG_DELETED_FUNCTION(global_storage()) - BOOST_LOG_DELETED_FUNCTION(global_storage(global_storage const&)) - BOOST_LOG_DELETED_FUNCTION(global_storage& operator= (global_storage const&)) + BOOST_DELETED_FUNCTION(global_storage()) + BOOST_DELETED_FUNCTION(global_storage(global_storage const&)) + BOOST_DELETED_FUNCTION(global_storage& operator= (global_storage const&)) }; //! Throws the \c odr_violation exception diff --git a/3party/boost/boost/log/sources/logger.hpp b/3party/boost/boost/log/sources/logger.hpp index 022e1ce35f..4f5fbf1ff6 100644 --- a/3party/boost/boost/log/sources/logger.hpp +++ b/3party/boost/boost/log/sources/logger.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -24,7 +24,7 @@ #endif // !defined(BOOST_LOG_NO_THREADS) #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/record_ostream.hpp b/3party/boost/boost/log/sources/record_ostream.hpp index e640b32696..239f3c9f6a 100644 --- a/3party/boost/boost/log/sources/record_ostream.hpp +++ b/3party/boost/boost/log/sources/record_ostream.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,11 +27,11 @@ #include <boost/log/detail/unhandled_exception_count.hpp> #include <boost/log/core/record.hpp> #include <boost/log/utility/unique_identifier_name.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -103,7 +103,7 @@ public: * \return \c true, if stream is valid and ready for formatting, \c false, if the stream is not valid. The latter also applies to * the case when the stream is not attached to a log record. */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Inverted conversion to an unspecified boolean type @@ -162,8 +162,8 @@ private: BOOST_LOG_API void init_stream(); // Copy and assignment are closed - BOOST_LOG_DELETED_FUNCTION(basic_record_ostream(basic_record_ostream const&)) - BOOST_LOG_DELETED_FUNCTION(basic_record_ostream& operator= (basic_record_ostream const&)) + BOOST_DELETED_FUNCTION(basic_record_ostream(basic_record_ostream const&)) + BOOST_DELETED_FUNCTION(basic_record_ostream& operator= (basic_record_ostream const&)) }; @@ -201,9 +201,9 @@ struct stream_provider BOOST_LOG_API static void release_compound(stream_compound* compound) BOOST_NOEXCEPT; // Non-constructible, non-copyable, non-assignable - BOOST_LOG_DELETED_FUNCTION(stream_provider()) - BOOST_LOG_DELETED_FUNCTION(stream_provider(stream_provider const&)) - BOOST_LOG_DELETED_FUNCTION(stream_provider& operator= (stream_provider const&)) + BOOST_DELETED_FUNCTION(stream_provider()) + BOOST_DELETED_FUNCTION(stream_provider(stream_provider const&)) + BOOST_DELETED_FUNCTION(stream_provider& operator= (stream_provider const&)) }; @@ -289,7 +289,7 @@ public: }; template< typename LoggerT > -BOOST_LOG_FORCEINLINE record_pump< LoggerT > make_record_pump(LoggerT& lg, record& rec) +BOOST_FORCEINLINE record_pump< LoggerT > make_record_pump(LoggerT& lg, record& rec) { return record_pump< LoggerT >(lg, rec); } diff --git a/3party/boost/boost/log/sources/severity_channel_logger.hpp b/3party/boost/boost/log/sources/severity_channel_logger.hpp index 84c6929cb3..aa567e82f6 100644 --- a/3party/boost/boost/log/sources/severity_channel_logger.hpp +++ b/3party/boost/boost/log/sources/severity_channel_logger.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/sources/channel_feature.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/severity_feature.hpp b/3party/boost/boost/log/sources/severity_feature.hpp index 80fc07b329..ae34c4c587 100644 --- a/3party/boost/boost/log/sources/severity_feature.hpp +++ b/3party/boost/boost/log/sources/severity_feature.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,8 +16,8 @@ #define BOOST_LOG_SOURCES_SEVERITY_FEATURE_HPP_INCLUDED_ #include <boost/cstdint.hpp> -#include <boost/intrusive_ptr.hpp> #include <boost/static_assert.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/move/core.hpp> #include <boost/move/utility.hpp> #include <boost/log/detail/config.hpp> @@ -32,7 +32,7 @@ #include <boost/log/core/record.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -62,7 +62,7 @@ namespace aux { protected: //! Factory implementation - class BOOST_LOG_VISIBLE impl : + class BOOST_SYMBOL_VISIBLE impl : public attribute_value::impl { public: diff --git a/3party/boost/boost/log/sources/severity_logger.hpp b/3party/boost/boost/log/sources/severity_logger.hpp index 5b0c5b8027..4e9fa580c0 100644 --- a/3party/boost/boost/log/sources/severity_logger.hpp +++ b/3party/boost/boost/log/sources/severity_logger.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/keywords/severity.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/sources/threading_models.hpp b/3party/boost/boost/log/sources/threading_models.hpp index 9ca68c7a85..0cfaf80034 100644 --- a/3party/boost/boost/log/sources/threading_models.hpp +++ b/3party/boost/boost/log/sources/threading_models.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -24,7 +24,7 @@ #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/support/date_time.hpp b/3party/boost/boost/log/support/date_time.hpp index 18c9996bcf..97924ec401 100644 --- a/3party/boost/boost/log/support/date_time.hpp +++ b/3party/boost/boost/log/support/date_time.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -36,7 +36,7 @@ #include <boost/log/utility/formatting_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -142,7 +142,7 @@ struct date_time_formatter_generator_traits_impl typedef typename date_time_formatter_generator_traits_impl< TimeT, CharT >::value_type value_type; public: - BOOST_LOG_DEFAULTED_FUNCTION(formatter(), {}) + BOOST_DEFAULTED_FUNCTION(formatter(), {}) formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {} formatter(BOOST_RV_REF(formatter) that) { this->swap(that); } @@ -217,7 +217,7 @@ struct date_time_formatter_generator_traits< local_time::local_date_time_base< T typedef typename date_time_formatter_generator_traits< local_time::local_date_time_base< TimeT, TimeZoneT >, CharT, VoidT >::value_type value_type; public: - BOOST_LOG_DEFAULTED_FUNCTION(formatter(), {}) + BOOST_DEFAULTED_FUNCTION(formatter(), {}) formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {} formatter(BOOST_RV_REF(formatter) that) { this->swap(that); } @@ -320,7 +320,7 @@ struct date_formatter_generator_traits_impl typedef typename date_formatter_generator_traits_impl< DateT, CharT >::value_type value_type; public: - BOOST_LOG_DEFAULTED_FUNCTION(formatter(), {}) + BOOST_DEFAULTED_FUNCTION(formatter(), {}) formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {} formatter(BOOST_RV_REF(formatter) that) { this->swap(that); } @@ -394,7 +394,7 @@ struct time_duration_formatter_generator_traits_impl typedef typename time_duration_formatter_generator_traits_impl< TimeDurationT, CharT >::value_type value_type; public: - BOOST_LOG_DEFAULTED_FUNCTION(formatter(), {}) + BOOST_DEFAULTED_FUNCTION(formatter(), {}) formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {} formatter(BOOST_RV_REF(formatter) that) { this->swap(that); } @@ -492,7 +492,7 @@ struct date_duration_formatter_generator_traits_impl typedef typename date_duration_formatter_generator_traits_impl< DateDurationT, CharT >::value_type value_type; public: - BOOST_LOG_DEFAULTED_FUNCTION(formatter(), {}) + BOOST_DEFAULTED_FUNCTION(formatter(), {}) formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {} formatter(BOOST_RV_REF(formatter) that) { this->swap(that); } diff --git a/3party/boost/boost/log/support/exception.hpp b/3party/boost/boost/log/support/exception.hpp index ae06719a3b..3b0ff9767b 100644 --- a/3party/boost/boost/log/support/exception.hpp +++ b/3party/boost/boost/log/support/exception.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -22,7 +22,7 @@ #include <boost/log/utility/type_info_wrapper.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/support/regex.hpp b/3party/boost/boost/log/support/regex.hpp index 4844603089..cecb106ad6 100644 --- a/3party/boost/boost/log/support/regex.hpp +++ b/3party/boost/boost/log/support/regex.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,13 +15,13 @@ #ifndef BOOST_LOG_SUPPORT_REGEX_HPP_INCLUDED_ #define BOOST_LOG_SUPPORT_REGEX_HPP_INCLUDED_ +#include <string> #include <boost/regex.hpp> -#include <boost/mpl/bool.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/utility/functional/matches.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -31,36 +31,38 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { -//! The trait verifies if the type can be converted to a Boost.Regex expression -template< typename T > -struct is_regex< T, true > +//! This tag type is used if an expression is recognized as a Boost.Regex expression +struct boost_regex_expression_tag; + +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits +template< typename CharT, typename TraitsT > +struct matching_expression_kind< boost::basic_regex< CharT, TraitsT > > { -private: - typedef char yes_type; - struct no_type { char dummy[2]; }; - - template< typename CharT, typename TraitsT > - static yes_type check_regex(basic_regex< CharT, TraitsT > const&); - static no_type check_regex(...); - static T& get_T(); - -public: - enum { value = sizeof(check_regex(get_T())) == sizeof(yes_type) }; - typedef mpl::bool_< value > type; + typedef boost_regex_expression_tag type; }; -//! The regex matching functor implementation -template< > -struct matches_fun_impl< boost_regex_expression_tag > +//! The matching function implementation +template< typename ExpressionT > +struct match_traits< ExpressionT, boost_regex_expression_tag > { + typedef ExpressionT compiled_type; + static compiled_type compile(ExpressionT const& expr) { return expr; } + template< typename StringT, typename CharT, typename TraitsT > - static bool matches( - StringT const& str, - basic_regex< CharT, TraitsT > const& expr, - match_flag_type flags = match_default) + static bool matches(StringT const& str, boost::basic_regex< CharT, TraitsT > const& expr, boost::regex_constants::match_flag_type flags = boost::regex_constants::match_default) { return boost::regex_match(str.begin(), str.end(), expr, flags); } + + template< typename CharT, typename StringTraitsT, typename AllocatorT, typename ReTraitsT > + static bool matches( + std::basic_string< CharT, StringTraitsT, AllocatorT > const& str, + boost::basic_regex< CharT, ReTraitsT > const& expr, + boost::regex_constants::match_flag_type flags = boost::regex_constants::match_default) + { + const CharT* p = str.c_str(); + return boost::regex_match(p, p + str.size(), expr, flags); + } }; } // namespace aux diff --git a/3party/boost/boost/log/support/spirit_classic.hpp b/3party/boost/boost/log/support/spirit_classic.hpp index a3bea64b05..fb8a6f047d 100644 --- a/3party/boost/boost/log/support/spirit_classic.hpp +++ b/3party/boost/boost/log/support/spirit_classic.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,10 +16,11 @@ #define BOOST_LOG_SUPPORT_SPIRIT_CLASSIC_HPP_INCLUDED_ #include <boost/mpl/bool.hpp> +#include <boost/utility/enable_if.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/utility/functional/matches.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -37,7 +38,11 @@ * in other translation units. The only reliable way to settle this problem is to * define the macro for the whole project (i.e. all translation units). */ -#warning Boost.Log: Boost.Spirit requires BOOST_SPIRIT_THREADSAFE macro to be defined if parsers are used in a multithreaded context. It is strongly recommended to define this macro project-wide. +#if defined(__GNUC__) +#pragma message "Boost.Log: Boost.Spirit requires BOOST_SPIRIT_THREADSAFE macro to be defined if parsers are used in a multithreaded context. It is strongly recommended to define this macro project-wide." +#elif defined(_MSC_VER) +#pragma message("Boost.Log: Boost.Spirit requires BOOST_SPIRIT_THREADSAFE macro to be defined if parsers are used in a multithreaded context. It is strongly recommended to define this macro project-wide.") +#endif #define BOOST_SPIRIT_THREADSAFE 1 #endif // !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_SPIRIT_THREADSAFE) @@ -51,9 +56,12 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { +//! This tag type is used if an expression is recognized as a Boost.Spirit.Classic expression +struct boost_spirit_classic_expression_tag; + //! The trait verifies if the type can be converted to a Boost.Spirit (classic) parser template< typename T > -struct is_spirit_classic_parser< T, true > +struct is_spirit_classic_parser { private: typedef char yes_type; @@ -69,14 +77,22 @@ public: typedef mpl::bool_< value > type; }; -//! The matching functor implementation -template< > -struct matches_fun_impl< boost_spirit_classic_expression_tag > +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits +template< typename ExpressionT > +struct matching_expression_kind< ExpressionT, typename boost::enable_if_c< is_spirit_classic_parser< ExpressionT >::value >::type > +{ + typedef boost_spirit_classic_expression_tag type; +}; + +//! The matching function implementation +template< typename ExpressionT > +struct match_traits< ExpressionT, boost_spirit_classic_expression_tag > { - template< typename StringT, typename ParserT > - static bool matches( - StringT const& str, - ParserT const& expr) + typedef ExpressionT compiled_type; + static compiled_type compile(ExpressionT const& expr) { return expr; } + + template< typename StringT > + static bool matches(StringT const& str, ExpressionT const& expr) { typedef typename StringT::const_iterator const_iterator; spirit::classic::parse_info< const_iterator > info = diff --git a/3party/boost/boost/log/support/spirit_qi.hpp b/3party/boost/boost/log/support/spirit_qi.hpp index b18a938cb6..48c0059a44 100644 --- a/3party/boost/boost/log/support/spirit_qi.hpp +++ b/3party/boost/boost/log/support/spirit_qi.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,14 +15,17 @@ #ifndef BOOST_LOG_SUPPORT_SPIRIT_QI_HPP_INCLUDED_ #define BOOST_LOG_SUPPORT_SPIRIT_QI_HPP_INCLUDED_ -#include <boost/log/detail/config.hpp> -#include <boost/log/utility/functional/matches.hpp> +#include <boost/utility/enable_if.hpp> #include <boost/spirit/include/qi_parse.hpp> #include <boost/spirit/include/qi_domain.hpp> -#include <boost/spirit/include/support_component.hpp> +#include <boost/spirit/include/support_unused.hpp> +#include <boost/spirit/home/support/meta_compiler.hpp> // spirit::compile() +#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp> // rule forward declaration +#include <boost/log/detail/config.hpp> +#include <boost/log/utility/functional/matches.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -32,21 +35,45 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { -//! The trait verifies if the type can be converted to a Boost.Spirit.Qi parser -template< typename T > -struct is_spirit_qi_parser< T, true > : - public spirit::traits::is_component< spirit::qi::domain, T > +//! This tag type is used if an expression is recognized as a Boost.Spirit.Qi expression +struct boost_spirit_qi_expression_tag; + +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits +template< typename ExpressionT > +struct matching_expression_kind< ExpressionT, typename boost::enable_if< spirit::traits::matches< spirit::qi::domain, ExpressionT > >::type > { + typedef boost_spirit_qi_expression_tag type; +}; + +//! The matching function implementation +template< typename ExpressionT > +struct match_traits< ExpressionT, boost_spirit_qi_expression_tag > +{ + typedef typename spirit::result_of::compile< spirit::qi::domain, ExpressionT, spirit::unused_type >::type compiled_type; + + static compiled_type compile(ExpressionT const& expr) + { + return spirit::compile< spirit::qi::domain >(expr); + } + + template< typename StringT > + static bool matches(StringT const& str, ExpressionT const& expr) + { + typedef typename StringT::const_iterator const_iterator; + const_iterator it = str.begin(), end = str.end(); + return (spirit::qi::parse(it, end, expr) && it == end); + } }; -//! The matching functor implementation -template< > -struct matches_fun_impl< boost_spirit_qi_expression_tag > +//! The matching function implementation +template< typename IteratorT, typename T1, typename T2, typename T3, typename T4 > +struct match_traits< spirit::qi::rule< IteratorT, T1, T2, T3, T4 >, boost_spirit_qi_expression_tag > { - template< typename StringT, typename ParserT > - static bool matches( - StringT const& str, - ParserT const& expr) + typedef spirit::qi::rule< IteratorT, T1, T2, T3, T4 > compiled_type; + static compiled_type compile(compiled_type const& expr) { return expr; } + + template< typename StringT > + static bool matches(StringT const& str, compiled_type const& expr) { typedef typename StringT::const_iterator const_iterator; const_iterator it = str.begin(), end = str.end(); diff --git a/3party/boost/boost/log/support/std_regex.hpp b/3party/boost/boost/log/support/std_regex.hpp new file mode 100644 index 0000000000..92395352ac --- /dev/null +++ b/3party/boost/boost/log/support/std_regex.hpp @@ -0,0 +1,86 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 support/std_regex.hpp + * \author Andrey Semashev + * \date 19.03.2014 + * + * This header enables \c std::regex support for Boost.Log. + */ + +#ifndef BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_ +#define BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_ + +#include <boost/log/detail/config.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if defined(BOOST_NO_CXX11_HDR_REGEX) + +#if defined(__GNUC__) +#pragma message "Boost.Log: This header requires support for std::regex in the standard library." +#elif defined(_MSC_VER) +#pragma message("Boost.Log: This header requires support for std::regex in the standard library.") +#endif + +#else // defined(BOOST_NO_CXX11_HDR_REGEX) + +#include <regex> +#include <string> +#include <boost/log/utility/functional/matches.hpp> +#include <boost/log/detail/header.hpp> + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace aux { + +//! This tag type is used if an expression is recognized as \c std::regex +struct std_regex_expression_tag; + +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits +template< typename CharT, typename ReTraitsT > +struct matching_expression_kind< std::basic_regex< CharT, ReTraitsT > > +{ + typedef std_regex_expression_tag type; +}; + +//! The matching function implementation +template< typename ExpressionT > +struct match_traits< ExpressionT, std_regex_expression_tag > +{ + typedef ExpressionT compiled_type; + static compiled_type compile(ExpressionT const& expr) { return expr; } + + template< typename StringT, typename CharT, typename ReTraitsT > + static bool matches(StringT const& str, std::basic_regex< CharT, ReTraitsT > const& expr, std::regex_constants::match_flag_type flags = std::regex_constants::match_default) + { + return std::regex_match(str.begin(), str.end(), expr, flags); + } + + template< typename CharT, typename StringTraitsT, typename AllocatorT, typename ReTraitsT > + static bool matches(std::basic_string< CharT, StringTraitsT, AllocatorT > const& str, std::basic_regex< CharT, ReTraitsT > const& expr, std::regex_constants::match_flag_type flags = std::regex_constants::match_default) + { + const CharT* p = str.c_str(); + return std::regex_match(p, p + str.size(), expr, flags); + } +}; + +} // namespace aux + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#include <boost/log/detail/footer.hpp> + +#endif // defined(BOOST_NO_CXX11_HDR_REGEX) + +#endif // BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/support/xpressive.hpp b/3party/boost/boost/log/support/xpressive.hpp index 902c6d32b4..5959716e57 100644 --- a/3party/boost/boost/log/support/xpressive.hpp +++ b/3party/boost/boost/log/support/xpressive.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,7 +15,7 @@ #ifndef BOOST_LOG_SUPPORT_XPRESSIVE_HPP_INCLUDED_ #define BOOST_LOG_SUPPORT_XPRESSIVE_HPP_INCLUDED_ -#include <boost/mpl/bool.hpp> +#include <string> #include <boost/xpressive/basic_regex.hpp> #include <boost/xpressive/regex_constants.hpp> #include <boost/xpressive/regex_algorithms.hpp> @@ -23,7 +23,7 @@ #include <boost/log/utility/functional/matches.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -33,53 +33,34 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { -//! The trait verifies if the type can be converted to a Boost.Xpressive regex +//! This tag type is used if an expression is recognized as a Boost.Xpressive expression +struct boost_xpressive_expression_tag; + +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits template< typename T > -struct is_xpressive_regex< T, true > +struct matching_expression_kind< xpressive::basic_regex< T > > { -private: - typedef char yes_type; - struct no_type { char dummy[2]; }; - - template< typename U > - static yes_type check_xpressive_regex(xpressive::basic_regex< U > const&); - static no_type check_xpressive_regex(...); - static T& get_T(); - -public: - enum { value = sizeof(check_xpressive_regex(get_T())) == sizeof(yes_type) }; - typedef mpl::bool_< value > type; + typedef boost_xpressive_expression_tag type; }; -//! The regex matching functor implementation -template< > -struct matches_fun_impl< boost_xpressive_expression_tag > +//! The matching function implementation +template< typename ExpressionT > +struct match_traits< ExpressionT, boost_xpressive_expression_tag > { + typedef ExpressionT compiled_type; + static compiled_type compile(ExpressionT const& expr) { return expr; } + template< typename StringT, typename T > - static bool matches( - StringT const& str, - xpressive::basic_regex< T > const& expr, - xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default) + static bool matches(StringT const& str, xpressive::basic_regex< T > const& expr, xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default) { return xpressive::regex_match(str, expr, flags); } - template< typename StringT > - static bool matches( - StringT const& str, - xpressive::basic_regex< typename StringT::value_type* > const& expr, - xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default) - { - return xpressive::regex_match(str.c_str(), expr, flags); - } - - template< typename StringT > - static bool matches( - StringT const& str, - xpressive::basic_regex< typename StringT::value_type const* > const& expr, - xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default) + template< typename CharT, typename TraitsT, typename AllocatorT > + static bool matches(std::basic_string< CharT, TraitsT, AllocatorT > const& str, xpressive::basic_regex< const CharT* > const& expr, xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default) { - return xpressive::regex_match(str.c_str(), expr, flags); + const CharT* p = str.c_str(); + return xpressive::regex_match(p, p + str.size(), expr, flags); } }; diff --git a/3party/boost/boost/log/trivial.hpp b/3party/boost/boost/log/trivial.hpp index 937be201ac..90de113b68 100644 --- a/3party/boost/boost/log/trivial.hpp +++ b/3party/boost/boost/log/trivial.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/sources/record_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -51,6 +51,7 @@ enum severity_level //! Returns stringized enumeration value or \c NULL, if the value is not valid BOOST_LOG_API const char* to_string(severity_level lvl); +//! Outputs stringized representation of the severity level to the stream template< typename CharT, typename TraitsT > inline std::basic_ostream< CharT, TraitsT >& operator<< ( std::basic_ostream< CharT, TraitsT >& strm, severity_level lvl) @@ -63,6 +64,7 @@ inline std::basic_ostream< CharT, TraitsT >& operator<< ( return strm; } +//! Reads stringized representation of the severity level from the stream template< typename CharT, typename TraitsT > BOOST_LOG_API std::basic_istream< CharT, TraitsT >& operator>> ( std::basic_istream< CharT, TraitsT >& strm, severity_level& lvl); @@ -74,7 +76,12 @@ typedef sources::severity_logger_mt< severity_level > logger_type; typedef sources::severity_logger< severity_level > logger_type; #endif -//! Trivial logger tag +/*! + * \brief Trivial logger tag + * + * This tag can be used to acquire the logger that is used with lrivial logging macros. + * This may be useful when the logger is used with other macros which require a logger. + */ struct logger { //! Logger type @@ -93,7 +100,15 @@ struct logger #endif }; -//! The macro is used to initiate logging +/*! + * The macro is used to initiate logging. The \c lvl argument of the macro specifies one of the following + * severity levels: \c trace, \c debug, \c info, \c warning, \c error or \c fatal (see \c severity_level enum). + * Following the macro, there may be a streaming expression that composes the record message string. For example: + * + * \code + * BOOST_LOG_TRIVIAL(info) << "Hello, world!"; + * \endcode + */ #define BOOST_LOG_TRIVIAL(lvl)\ BOOST_LOG_STREAM_WITH_PARAMS(::boost::log::trivial::logger::get(),\ (::boost::log::keywords::severity = ::boost::log::trivial::lvl)) diff --git a/3party/boost/boost/log/utility/empty_deleter.hpp b/3party/boost/boost/log/utility/empty_deleter.hpp index e1ae5682ba..67e5abc97b 100644 --- a/3party/boost/boost/log/utility/empty_deleter.hpp +++ b/3party/boost/boost/log/utility/empty_deleter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -9,36 +9,31 @@ * \author Andrey Semashev * \date 22.04.2007 * - * This header contains an \c empty_deleter implementation. This is an empty - * function object that receives a pointer and does nothing with it. - * Such empty deletion strategy may be convenient, for example, when - * constructing <tt>shared_ptr</tt>s that point to some object that should not be - * deleted (i.e. a variable on the stack or some global singleton, like <tt>std::cout</tt>). + * This header is deprecated, use boost/utility/empty_deleter.hpp instead. The header is left for + * backward compatibility and will be removed in future versions. */ #ifndef BOOST_LOG_UTILITY_EMPTY_DELETER_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_EMPTY_DELETER_HPP_INCLUDED_ +#include <boost/core/null_deleter.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif +#if defined(__GNUC__) +#pragma message "Boost.Log: This header is deprecated, use boost/core/null_deleter.hpp instead." +#elif defined(_MSC_VER) +#pragma message("Boost.Log: This header is deprecated, use boost/core/null_deleter.hpp instead.") +#endif + namespace boost { BOOST_LOG_OPEN_NAMESPACE -//! A function object that does nothing and can be used as an empty deleter for \c shared_ptr -struct empty_deleter -{ - //! Function object result type - typedef void result_type; - /*! - * Does nothing - */ - void operator() (const volatile void*) const {} -}; +typedef boost::null_deleter empty_deleter; BOOST_LOG_CLOSE_NAMESPACE // namespace log diff --git a/3party/boost/boost/log/utility/exception_handler.hpp b/3party/boost/boost/log/utility/exception_handler.hpp index 6384f4edce..c5392be687 100644 --- a/3party/boost/boost/log/utility/exception_handler.hpp +++ b/3party/boost/boost/log/utility/exception_handler.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,7 +15,7 @@ #ifndef BOOST_LOG_UTILITY_EXCEPTION_HANDLER_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_EXCEPTION_HANDLER_HPP_INCLUDED_ -#include <exception> +#include <new> // std::nothrow_t #include <boost/mpl/bind.hpp> #include <boost/mpl/quote.hpp> #include <boost/mpl/fold.hpp> @@ -30,7 +30,7 @@ #include <boost/log/utility/functional/nop.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/explicit_operator_bool.hpp b/3party/boost/boost/log/utility/explicit_operator_bool.hpp index 375a753578..0d708288dc 100644 --- a/3party/boost/boost/log/utility/explicit_operator_bool.hpp +++ b/3party/boost/boost/log/utility/explicit_operator_bool.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -9,22 +9,25 @@ * \author Andrey Semashev * \date 08.03.2009 * - * This header defines a compatibility macro that implements an unspecified - * \c bool operator idiom, which is superseded with explicit conversion operators in - * C++0x. + * This header is deprecated, use boost/utility/explicit_operator_bool.hpp instead. The header is left for + * backward compatibility and will be removed in future versions. */ #ifndef BOOST_LOG_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP_INCLUDED_ +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif -#if defined(BOOST_LOG_DOXYGEN_PASS) || !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) +#if defined(__GNUC__) +#pragma message "Boost.Log: This header is deprecated, use boost/utility/explicit_operator_bool.hpp instead." +#elif defined(_MSC_VER) +#pragma message("Boost.Log: This header is deprecated, use boost/utility/explicit_operator_bool.hpp instead.") +#endif /*! * \brief The macro defines an explicit operator of conversion to \c bool @@ -34,71 +37,6 @@ * in terms of which the conversion operator will be implemented. */ #define BOOST_LOG_EXPLICIT_OPERATOR_BOOL()\ - BOOST_LOG_FORCEINLINE explicit operator bool () const\ - {\ - return !this->operator! ();\ - } - -#elif !defined(BOOST_LOG_NO_UNSPECIFIED_BOOL) - -namespace boost { - -BOOST_LOG_OPEN_NAMESPACE - -namespace aux { - -#if !defined(_MSC_VER) - - struct unspecified_bool - { - // NOTE TO THE USER: If you see this in error messages then you tried - // to apply an unsupported operator on the object that supports - // explicit conversion to bool. - struct OPERATORS_NOT_ALLOWED; - static void true_value(OPERATORS_NOT_ALLOWED*) {} - }; - typedef void (*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*); - -#else - - // MSVC is too eager to convert pointer to function to void* even though it shouldn't - struct unspecified_bool - { - // NOTE TO THE USER: If you see this in error messages then you tried - // to apply an unsupported operator on the object that supports - // explicit conversion to bool. - struct OPERATORS_NOT_ALLOWED; - void true_value(OPERATORS_NOT_ALLOWED*) {} - }; - typedef void (unspecified_bool::*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*); - -#endif - -} // namespace aux - -BOOST_LOG_CLOSE_NAMESPACE // namespace log - -} // namespace boost - -#define BOOST_LOG_EXPLICIT_OPERATOR_BOOL()\ - BOOST_LOG_FORCEINLINE operator boost::log::aux::unspecified_bool_type () const\ - {\ - if (!this->operator!())\ - return &boost::log::aux::unspecified_bool::true_value;\ - else\ - return 0;\ - } - -#else - -#define BOOST_LOG_EXPLICIT_OPERATOR_BOOL()\ - BOOST_LOG_FORCEINLINE operator bool () const\ - {\ - return !this->operator! ();\ - } - -#endif - -#include <boost/log/detail/footer.hpp> + BOOST_EXPLICIT_OPERATOR_BOOL() #endif // BOOST_LOG_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/utility/formatting_ostream.hpp b/3party/boost/boost/log/utility/formatting_ostream.hpp index 00049845d6..a32df35c83 100644 --- a/3party/boost/boost/log/utility/formatting_ostream.hpp +++ b/3party/boost/boost/log/utility/formatting_ostream.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,10 +26,10 @@ #include <boost/log/detail/code_conversion.hpp> #include <boost/log/utility/string_literal_fwd.hpp> #include <boost/log/utility/formatting_ostream_fwd.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -121,8 +121,8 @@ public: { } - BOOST_LOG_DELETED_FUNCTION(sentry(sentry const&)) - BOOST_LOG_DELETED_FUNCTION(sentry& operator= (sentry const&)) + BOOST_DELETED_FUNCTION(sentry(sentry const&)) + BOOST_DELETED_FUNCTION(sentry& operator= (sentry const&)) }; private: @@ -276,7 +276,7 @@ public: static bool sync_with_stdio(bool sync = true) { return ostream_type::sync_with_stdio(sync); } // std::basic_ios method forwarders - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL() bool operator! () const { return !m_stream; } iostate rdstate() const { return m_stream.rdstate(); } @@ -545,33 +545,36 @@ private: m_stream.fill(static_cast< char_type >(' ')); } - template< typename OtherCharT > - basic_formatting_ostream& formatted_write(const OtherCharT* p, std::streamsize size) + basic_formatting_ostream& formatted_write(const char_type* p, std::streamsize size) { sentry guard(*this); if (guard) { m_stream.flush(); - string_type* const storage = m_streambuf.storage(); - const std::streamsize w = m_stream.width(); - if (w <= size) - { - aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_stream.getloc()); - } + if (m_stream.width() <= size) + m_streambuf.storage()->append(p, static_cast< std::size_t >(size)); else - { - const bool align_left = (m_stream.flags() & ostream_type::adjustfield) == ostream_type::left; - typename string_type::size_type const alignment_size = - static_cast< typename string_type::size_type >(w - size); - if (!align_left) - storage->append(alignment_size, m_stream.fill()); + this->aligned_write(p, size); + + m_stream.width(0); + } + + return *this; + } - aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_stream.getloc()); + template< typename OtherCharT > + basic_formatting_ostream& formatted_write(const OtherCharT* p, std::streamsize size) + { + sentry guard(*this); + if (guard) + { + m_stream.flush(); - if (align_left) - storage->append(alignment_size, m_stream.fill()); - } + if (m_stream.width() <= size) + aux::code_convert(p, static_cast< std::size_t >(size), *m_streambuf.storage(), m_stream.getloc()); + else + this->aligned_write(p, size); m_stream.width(0); } @@ -579,10 +582,15 @@ private: return *this; } + void aligned_write(const char_type* p, std::streamsize size); + + template< typename OtherCharT > + void aligned_write(const OtherCharT* p, std::streamsize size); + //! Copy constructor (closed) - BOOST_LOG_DELETED_FUNCTION(basic_formatting_ostream(basic_formatting_ostream const& that)) + BOOST_DELETED_FUNCTION(basic_formatting_ostream(basic_formatting_ostream const& that)) //! Assignment (closed) - BOOST_LOG_DELETED_FUNCTION(basic_formatting_ostream& operator= (basic_formatting_ostream const& that)) + BOOST_DELETED_FUNCTION(basic_formatting_ostream& operator= (basic_formatting_ostream const& that)) }; template< typename CharT, typename TraitsT, typename AllocatorT > @@ -656,6 +664,44 @@ BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, Allo template< typename CharT, typename TraitsT, typename AllocatorT > BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::event basic_formatting_ostream< CharT, TraitsT, AllocatorT >::copyfmt_event; +template< typename CharT, typename TraitsT, typename AllocatorT > +void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const char_type* p, std::streamsize size) +{ + string_type* const storage = m_streambuf.storage(); + typename string_type::size_type const alignment_size = + static_cast< typename string_type::size_type >(m_stream.width() - size); + const bool align_left = (m_stream.flags() & ostream_type::adjustfield) == ostream_type::left; + if (align_left) + { + storage->append(p, static_cast< std::size_t >(size)); + storage->append(alignment_size, m_stream.fill()); + } + else + { + storage->append(alignment_size, m_stream.fill()); + storage->append(p, static_cast< std::size_t >(size)); + } +} + +template< typename CharT, typename TraitsT, typename AllocatorT > +template< typename OtherCharT > +void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const OtherCharT* p, std::streamsize size) +{ + string_type* const storage = m_streambuf.storage(); + typename string_type::size_type const alignment_size = + static_cast< typename string_type::size_type >(m_stream.width() - size); + const bool align_left = (m_stream.flags() & ostream_type::adjustfield) == ostream_type::left; + if (align_left) + { + aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_stream.getloc()); + storage->append(alignment_size, m_stream.fill()); + } + else + { + storage->append(alignment_size, m_stream.fill()); + aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_stream.getloc()); + } +} template< typename CharT, typename TraitsT, typename AllocatorT, typename T > inline basic_formatting_ostream< CharT, TraitsT, AllocatorT >& @@ -665,6 +711,34 @@ operator<< (basic_formatting_ostream< CharT, TraitsT, AllocatorT >& strm, T cons return strm; } +template< typename CharT, typename TraitsT, typename AllocatorT, typename T > +inline basic_formatting_ostream< CharT, TraitsT, AllocatorT >& +operator<< (basic_formatting_ostream< CharT, TraitsT, AllocatorT >& strm, T& value) +{ + strm.stream() << value; + return strm; +} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + +template< typename CharT, typename TraitsT, typename AllocatorT, typename T > +inline basic_formatting_ostream< CharT, TraitsT, AllocatorT >& +operator<< (basic_formatting_ostream< CharT, TraitsT, AllocatorT >&& strm, T const& value) +{ + static_cast< basic_formatting_ostream< CharT, TraitsT, AllocatorT >& >(strm) << value; + return strm; +} + +template< typename CharT, typename TraitsT, typename AllocatorT, typename T > +inline basic_formatting_ostream< CharT, TraitsT, AllocatorT >& +operator<< (basic_formatting_ostream< CharT, TraitsT, AllocatorT >&& strm, T& value) +{ + static_cast< basic_formatting_ostream< CharT, TraitsT, AllocatorT >& >(strm) << value; + return strm; +} + +#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_LOG_CLOSE_NAMESPACE // namespace log } // namespace boost diff --git a/3party/boost/boost/log/utility/formatting_ostream_fwd.hpp b/3party/boost/boost/log/utility/formatting_ostream_fwd.hpp index f0a97f83ea..ba9b6e18d5 100644 --- a/3party/boost/boost/log/utility/formatting_ostream_fwd.hpp +++ b/3party/boost/boost/log/utility/formatting_ostream_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <memory> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional.hpp b/3party/boost/boost/log/utility/functional.hpp index 1cfd0a8c88..bc48619a01 100644 --- a/3party/boost/boost/log/utility/functional.hpp +++ b/3party/boost/boost/log/utility/functional.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -33,7 +33,7 @@ #include <boost/log/utility/functional/as_action.hpp> #include <boost/log/utility/functional/save_result.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/as_action.hpp b/3party/boost/boost/log/utility/functional/as_action.hpp index 1814e11da0..a12cee250a 100644 --- a/3party/boost/boost/log/utility/functional/as_action.hpp +++ b/3party/boost/boost/log/utility/functional/as_action.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -32,7 +32,7 @@ struct as_action_adapter { typedef typename FunT::result_type result_type; - BOOST_LOG_DEFAULTED_FUNCTION(as_action_adapter(), {}) + BOOST_DEFAULTED_FUNCTION(as_action_adapter(), {}) explicit as_action_adapter(FunT const& fun) : m_fun(fun) {} template< typename AttributeT, typename ContextT > @@ -46,7 +46,7 @@ private: }; template< typename FunT > -BOOST_LOG_FORCEINLINE as_action_adapter< FunT > as_action(FunT const& fun) +BOOST_FORCEINLINE as_action_adapter< FunT > as_action(FunT const& fun) { return as_action_adapter< FunT >(fun); } diff --git a/3party/boost/boost/log/utility/functional/begins_with.hpp b/3party/boost/boost/log/utility/functional/begins_with.hpp index 25f0fbb7d1..b8e91baa7e 100644 --- a/3party/boost/boost/log/utility/functional/begins_with.hpp +++ b/3party/boost/boost/log/utility/functional/begins_with.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/bind.hpp b/3party/boost/boost/log/utility/functional/bind.hpp index bbd78c010c..cdc79cba57 100644 --- a/3party/boost/boost/log/utility/functional/bind.hpp +++ b/3party/boost/boost/log/utility/functional/bind.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -105,13 +105,13 @@ private: }; template< typename FunT, typename FirstArgT > -BOOST_LOG_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT const& arg) +BOOST_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT const& arg) { return binder1st< FunT, FirstArgT >(fun, arg); } template< typename FunT, typename FirstArgT > -BOOST_LOG_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT& arg) +BOOST_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT& arg) { return binder1st< FunT, FirstArgT >(fun, arg); } @@ -167,13 +167,13 @@ private: }; template< typename FunT, typename SecondArgT > -BOOST_LOG_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT const& arg) +BOOST_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT const& arg) { return binder2nd< FunT, SecondArgT >(fun, arg); } template< typename FunT, typename SecondArgT > -BOOST_LOG_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT& arg) +BOOST_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT& arg) { return binder2nd< FunT, SecondArgT >(fun, arg); } @@ -217,13 +217,13 @@ private: }; template< typename FunT, typename ThirdArgT > -BOOST_LOG_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT const& arg) +BOOST_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT const& arg) { return binder3rd< FunT, ThirdArgT >(fun, arg); } template< typename FunT, typename ThirdArgT > -BOOST_LOG_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT& arg) +BOOST_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT& arg) { return binder3rd< FunT, ThirdArgT >(fun, arg); } diff --git a/3party/boost/boost/log/utility/functional/bind_assign.hpp b/3party/boost/boost/log/utility/functional/bind_assign.hpp index f4de02d466..acfad9426e 100644 --- a/3party/boost/boost/log/utility/functional/bind_assign.hpp +++ b/3party/boost/boost/log/utility/functional/bind_assign.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/utility/functional/bind.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -41,7 +41,7 @@ struct assign_fun }; template< typename AssigneeT > -BOOST_LOG_FORCEINLINE binder1st< assign_fun, AssigneeT& > bind_assign(AssigneeT& assignee) +BOOST_FORCEINLINE binder1st< assign_fun, AssigneeT& > bind_assign(AssigneeT& assignee) { return binder1st< assign_fun, AssigneeT& >(assign_fun(), assignee); } diff --git a/3party/boost/boost/log/utility/functional/bind_output.hpp b/3party/boost/boost/log/utility/functional/bind_output.hpp index 955c9bbc6d..19cd88b947 100644 --- a/3party/boost/boost/log/utility/functional/bind_output.hpp +++ b/3party/boost/boost/log/utility/functional/bind_output.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/utility/functional/bind.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -41,7 +41,7 @@ struct output_fun }; template< typename StreamT > -BOOST_LOG_FORCEINLINE binder1st< output_fun, StreamT& > bind_output(StreamT& strm) +BOOST_FORCEINLINE binder1st< output_fun, StreamT& > bind_output(StreamT& strm) { return binder1st< output_fun, StreamT& >(output_fun(), strm); } diff --git a/3party/boost/boost/log/utility/functional/bind_to_log.hpp b/3party/boost/boost/log/utility/functional/bind_to_log.hpp index 65fdb5e1b0..9131d6658f 100644 --- a/3party/boost/boost/log/utility/functional/bind_to_log.hpp +++ b/3party/boost/boost/log/utility/functional/bind_to_log.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/utility/manipulators/to_log.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -56,13 +56,13 @@ struct to_log_fun< void > }; template< typename StreamT > -BOOST_LOG_FORCEINLINE binder1st< to_log_fun< >, StreamT& > bind_to_log(StreamT& strm) +BOOST_FORCEINLINE binder1st< to_log_fun< >, StreamT& > bind_to_log(StreamT& strm) { return binder1st< to_log_fun< >, StreamT& >(to_log_fun< >(), strm); } template< typename TagT, typename StreamT > -BOOST_LOG_FORCEINLINE binder1st< to_log_fun< TagT >, StreamT& > bind_to_log(StreamT& strm) +BOOST_FORCEINLINE binder1st< to_log_fun< TagT >, StreamT& > bind_to_log(StreamT& strm) { return binder1st< to_log_fun< TagT >, StreamT& >(to_log_fun< TagT >(), strm); } diff --git a/3party/boost/boost/log/utility/functional/contains.hpp b/3party/boost/boost/log/utility/functional/contains.hpp index 0433ca7316..84b6cd3d53 100644 --- a/3party/boost/boost/log/utility/functional/contains.hpp +++ b/3party/boost/boost/log/utility/functional/contains.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/ends_with.hpp b/3party/boost/boost/log/utility/functional/ends_with.hpp index b5a75bdbc8..ddf6578a2e 100644 --- a/3party/boost/boost/log/utility/functional/ends_with.hpp +++ b/3party/boost/boost/log/utility/functional/ends_with.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/fun_ref.hpp b/3party/boost/boost/log/utility/functional/fun_ref.hpp index 90ef2bdbbe..08e3c6ac95 100644 --- a/3party/boost/boost/log/utility/functional/fun_ref.hpp +++ b/3party/boost/boost/log/utility/functional/fun_ref.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -65,7 +65,7 @@ private: }; template< typename FunT > -BOOST_LOG_FORCEINLINE function_reference_wrapper< FunT > fun_ref(FunT& fun) +BOOST_FORCEINLINE function_reference_wrapper< FunT > fun_ref(FunT& fun) { return function_reference_wrapper< FunT >(fun); } diff --git a/3party/boost/boost/log/utility/functional/in_range.hpp b/3party/boost/boost/log/utility/functional/in_range.hpp index fdec067d40..3fe808a74a 100644 --- a/3party/boost/boost/log/utility/functional/in_range.hpp +++ b/3party/boost/boost/log/utility/functional/in_range.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/utility/functional/logical.hpp> // make_common_integral_type #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/logical.hpp b/3party/boost/boost/log/utility/functional/logical.hpp index a5c9d3ca47..92bd79705b 100644 --- a/3party/boost/boost/log/utility/functional/logical.hpp +++ b/3party/boost/boost/log/utility/functional/logical.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -29,7 +29,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/functional/matches.hpp b/3party/boost/boost/log/utility/functional/matches.hpp index 943a021ad7..b530f1e964 100644 --- a/3party/boost/boost/log/utility/functional/matches.hpp +++ b/3party/boost/boost/log/utility/functional/matches.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,14 +15,10 @@ #ifndef BOOST_LOG_UTILITY_FUNCTIONAL_MATCHES_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_FUNCTIONAL_MATCHES_HPP_INCLUDED_ -#include <boost/mpl/bool.hpp> -#include <boost/mpl/identity.hpp> -#include <boost/mpl/if.hpp> -#include <boost/mpl/eval_if.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -32,45 +28,13 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { -//! This tag type is used if an expression is not supported for matching against strings -struct unsupported_match_expression_tag; -//! This tag type is used if an expression is recognized as a Boost.Regex expression -struct boost_regex_expression_tag; -//! This tag type is used if an expression is recognized as a Boost.Xpressive expression -struct boost_xpressive_expression_tag; -//! This tag type is used if an expression is recognized as a Boost.Spirit (classic) expression -struct boost_spirit_classic_expression_tag; -//! This tag type is used if an expression is recognized as a Boost.Spirit.Qi expression -struct boost_spirit_qi_expression_tag; +//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits +template< typename ExpressionT, typename = void > +struct matching_expression_kind; -//! Preliminary declaration of a trait that detects if an expression is a Boost.Regex expression -template< typename, bool = true > -struct is_regex : - public mpl::false_ -{ -}; -//! Preliminary declaration of a trait that detects if an expression is a Boost.Xpressive expression -template< typename, bool = true > -struct is_xpressive_regex : - public mpl::false_ -{ -}; -//! Preliminary declaration of a trait that detects if an expression is a Boost.Spirit (classic) expression -template< typename, bool = true > -struct is_spirit_classic_parser : - public mpl::false_ -{ -}; -//! Preliminary declaration of a trait that detects if an expression is a Boost.Spirit.Qi expression -template< typename, bool = true > -struct is_spirit_qi_parser : - public mpl::false_ -{ -}; - -//! The regex matching functor implementation -template< typename TagT > -struct matches_fun_impl; +//! The matching function implementation +template< typename ExpressionT, typename TagT = typename matching_expression_kind< ExpressionT >::type > +struct match_traits; } // namespace aux @@ -79,43 +43,16 @@ struct matches_fun { typedef bool result_type; -private: - //! A traits to obtain the tag of the expression - template< typename ExpressionT > - struct match_traits - { - typedef typename mpl::eval_if< - aux::is_regex< ExpressionT >, - mpl::identity< aux::boost_regex_expression_tag >, - mpl::eval_if< - aux::is_xpressive_regex< ExpressionT >, - mpl::identity< aux::boost_xpressive_expression_tag >, - mpl::eval_if< - aux::is_spirit_classic_parser< ExpressionT >, - mpl::identity< aux::boost_spirit_classic_expression_tag >, - mpl::if_< - aux::is_spirit_qi_parser< ExpressionT >, - aux::boost_spirit_qi_expression_tag, - aux::unsupported_match_expression_tag - > - > - > - >::type tag_type; - }; - -public: template< typename StringT, typename ExpressionT > bool operator() (StringT const& str, ExpressionT const& expr) const { - typedef typename match_traits< ExpressionT >::tag_type tag_type; - typedef aux::matches_fun_impl< tag_type > impl; + typedef aux::match_traits< ExpressionT > impl; return impl::matches(str, expr); } template< typename StringT, typename ExpressionT, typename ArgT > bool operator() (StringT const& str, ExpressionT const& expr, ArgT const& arg) const { - typedef typename match_traits< ExpressionT >::tag_type tag_type; - typedef aux::matches_fun_impl< tag_type > impl; + typedef aux::match_traits< ExpressionT > impl; return impl::matches(str, expr, arg); } }; diff --git a/3party/boost/boost/log/utility/functional/nop.hpp b/3party/boost/boost/log/utility/functional/nop.hpp index d4f4edf0ff..0a6e310337 100644 --- a/3party/boost/boost/log/utility/functional/nop.hpp +++ b/3party/boost/boost/log/utility/functional/nop.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -31,18 +31,18 @@ struct nop { typedef void result_type; - void operator() () const {} + void operator() () const BOOST_NOEXCEPT {} #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template< typename... ArgsT > - void operator() (ArgsT const&...) const {} + void operator() (ArgsT const&...) const BOOST_NOEXCEPT {} #else template< typename T > - void operator() (T const&) const {} + void operator() (T const&) const BOOST_NOEXCEPT {} template< typename T1, typename T2 > - void operator() (T1 const&, T2 const&) const {} + void operator() (T1 const&, T2 const&) const BOOST_NOEXCEPT {} template< typename T1, typename T2, typename T3 > - void operator() (T1 const&, T2 const&, T3 const&) const {} + void operator() (T1 const&, T2 const&, T3 const&) const BOOST_NOEXCEPT {} #endif }; diff --git a/3party/boost/boost/log/utility/functional/save_result.hpp b/3party/boost/boost/log/utility/functional/save_result.hpp index ce72adb40a..d0b22fdff2 100644 --- a/3party/boost/boost/log/utility/functional/save_result.hpp +++ b/3party/boost/boost/log/utility/functional/save_result.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -46,7 +46,7 @@ private: }; template< typename FunT, typename AssigneeT > -BOOST_LOG_FORCEINLINE save_result_wrapper< FunT, AssigneeT > save_result(FunT const& fun, AssigneeT& assignee) +BOOST_FORCEINLINE save_result_wrapper< FunT, AssigneeT > save_result(FunT const& fun, AssigneeT& assignee) { return save_result_wrapper< FunT, AssigneeT >(fun, assignee); } diff --git a/3party/boost/boost/log/utility/intrusive_ref_counter.hpp b/3party/boost/boost/log/utility/intrusive_ref_counter.hpp index 6a694d108d..025c21ac81 100644 --- a/3party/boost/boost/log/utility/intrusive_ref_counter.hpp +++ b/3party/boost/boost/log/utility/intrusive_ref_counter.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -9,109 +9,42 @@ * \author Andrey Semashev * \date 12.03.2009 * - * This header contains a reference counter class for \c intrusive_ptr. + * This header is deprecated, use boost/smart_ptr/intrusive_ref_counter.hpp instead. The header is left for + * backward compatibility and will be removed in future versions. */ #ifndef BOOST_LOG_UTILITY_INTRUSIVE_REF_COUNTER_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_INTRUSIVE_REF_COUNTER_HPP_INCLUDED_ -#include <boost/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ref_counter.hpp> #include <boost/log/detail/config.hpp> -#ifndef BOOST_LOG_NO_THREADS -#include <boost/detail/atomic_count.hpp> -#endif // BOOST_LOG_NO_THREADS #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif +#if defined(__GNUC__) +#pragma message "Boost.Log: This header is deprecated, use boost/smart_ptr/intrusive_ref_counter.hpp instead." +#elif defined(_MSC_VER) +#pragma message("Boost.Log: This header is deprecated, use boost/smart_ptr/intrusive_ref_counter.hpp instead.") +#endif + namespace boost { BOOST_LOG_OPEN_NAMESPACE -class intrusive_ref_counter; +namespace aux { -#ifndef BOOST_LOG_DOXYGEN_PASS -void intrusive_ptr_add_ref(const intrusive_ref_counter* p); -void intrusive_ptr_release(const intrusive_ref_counter* p); -#endif // BOOST_LOG_DOXYGEN_PASS - -/*! - * \brief A reference counter base class - * - * This base class can be used with user-defined classes to add support - * for \c intrusive_ptr. The class contains a thread-safe reference counter - * and a virtual destructor, which makes the derived class polymorphic. - * Upon releasing the last \c intrusive_ptr referencing the object - * derived from the \c intrusive_ref_counter class, operator \c delete - * is automatically called on the pointer to the object. - */ -class intrusive_ref_counter +struct legacy_intrusive_ref_counter_root { -private: - //! Reference counter -#ifndef BOOST_LOG_NO_THREADS - mutable boost::detail::atomic_count m_RefCounter; -#else - mutable unsigned long m_RefCounter; -#endif // BOOST_LOG_NO_THREADS - -public: - /*! - * Default constructor - * - * \post <tt>use_count() == 0</tt> - */ - intrusive_ref_counter() : m_RefCounter(0) - { - } - /*! - * Copy constructor - * - * \post <tt>use_count() == 0</tt> - */ - intrusive_ref_counter(intrusive_ref_counter const&) : m_RefCounter(0) - { - } - - /*! - * Virtual destructor - */ - virtual ~intrusive_ref_counter() {} - - /*! - * Assignment - * - * \post The reference counter is not modified after assignment - */ - intrusive_ref_counter& operator= (intrusive_ref_counter const&) { return *this; } - - /*! - * \return The reference counter - */ - unsigned long use_count() const - { - return static_cast< unsigned long >(static_cast< long >(m_RefCounter)); - } - -#ifndef BOOST_LOG_DOXYGEN_PASS - friend void intrusive_ptr_add_ref(const intrusive_ref_counter* p); - friend void intrusive_ptr_release(const intrusive_ref_counter* p); -#endif // BOOST_LOG_DOXYGEN_PASS + virtual ~legacy_intrusive_ref_counter_root() {} }; -#ifndef BOOST_LOG_DOXYGEN_PASS -inline void intrusive_ptr_add_ref(const intrusive_ref_counter* p) -{ - ++p->m_RefCounter; -} -inline void intrusive_ptr_release(const intrusive_ref_counter* p) -{ - if (--p->m_RefCounter == 0) - delete p; -} -#endif // BOOST_LOG_DOXYGEN_PASS +} // namespace aux + +typedef boost::intrusive_ref_counter< aux::legacy_intrusive_ref_counter_root > intrusive_ref_counter; BOOST_LOG_CLOSE_NAMESPACE // namespace log diff --git a/3party/boost/boost/log/utility/manipulators.hpp b/3party/boost/boost/log/utility/manipulators.hpp index 2081d4e6ab..cee1affd2a 100644 --- a/3party/boost/boost/log/utility/manipulators.hpp +++ b/3party/boost/boost/log/utility/manipulators.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/utility/manipulators/to_log.hpp> #include <boost/log/utility/manipulators/dump.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/manipulators/add_value.hpp b/3party/boost/boost/log/utility/manipulators/add_value.hpp index 69bd8a8328..8d4a7c610f 100644 --- a/3party/boost/boost/log/utility/manipulators/add_value.hpp +++ b/3party/boost/boost/log/utility/manipulators/add_value.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,6 +15,8 @@ #ifndef BOOST_LOG_UTILITY_MANIPULATORS_ADD_VALUE_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_MANIPULATORS_ADD_VALUE_HPP_INCLUDED_ +#include <boost/mpl/if.hpp> +#include <boost/type_traits/is_scalar.hpp> #include <boost/type_traits/remove_cv.hpp> #include <boost/type_traits/remove_reference.hpp> #include <boost/log/detail/config.hpp> @@ -25,7 +27,7 @@ #include <boost/log/sources/record_ostream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -54,25 +56,39 @@ public: typedef typename remove_cv< typename remove_reference< reference_type >::type >::type value_type; private: - // The stored reference type is always an lvalue reference since apparently different compilers (GCC and MSVC) have different quirks when rvalue references are stored as members - typedef typename remove_reference< reference_type >::type& stored_reference_type; + // The stored reference type is an lvalue reference since apparently different compilers (GCC and MSVC) have different quirks when rvalue references are stored as members. + // Additionally, MSVC (at least 11.0) has a bug which causes a dangling reference to be stored in the manipulator, if a scalar rvalue is passed to the add_value generator. + // To work around this problem we save the value inside the manipulator in this case. + typedef typename remove_reference< reference_type >::type& lvalue_reference_type; + + typedef typename mpl::if_< + is_scalar< value_type >, + value_type, + lvalue_reference_type + >::type stored_type; + + typedef typename mpl::if_< + is_scalar< value_type >, + value_type, + reference_type + >::type get_value_result_type; private: //! Attribute value - stored_reference_type m_value; + stored_type m_value; //! Attribute name attribute_name m_name; public: //! Initializing constructor - add_value_manip(attribute_name const& name, reference_type value) : m_value(static_cast< stored_reference_type >(value)), m_name(name) + add_value_manip(attribute_name const& name, reference_type value) : m_value(static_cast< lvalue_reference_type >(value)), m_name(name) { } //! Returns attribute name attribute_name get_name() const { return m_name; } //! Returns attribute value - reference_type get_value() const { return static_cast< reference_type >(m_value); } + get_value_result_type get_value() const { return static_cast< get_value_result_type >(m_value); } }; //! The operator attaches an attribute value to the log record @@ -86,7 +102,7 @@ inline basic_record_ostream< CharT >& operator<< (basic_record_ostream< CharT >& } //! The function creates a manipulator that attaches an attribute value to a log record -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1600) +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template< typename T > inline add_value_manip< T&& > add_value(attribute_name const& name, T&& value) @@ -111,7 +127,15 @@ add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename return add_value_manip< typename DescriptorT::value_type& >(DescriptorT::get_name(), value); } -#else // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1600) +//! \overload +template< typename DescriptorT, template< typename > class ActorT > +inline add_value_manip< typename DescriptorT::value_type const& > +add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename DescriptorT::value_type const& value) +{ + return add_value_manip< typename DescriptorT::value_type const& >(DescriptorT::get_name(), value); +} + +#else // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template< typename T > inline add_value_manip< T const& > add_value(attribute_name const& name, T const& value) @@ -126,7 +150,7 @@ add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename return add_value_manip< typename DescriptorT::value_type const& >(DescriptorT::get_name(), value); } -#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1600) +#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_LOG_CLOSE_NAMESPACE // namespace log diff --git a/3party/boost/boost/log/utility/manipulators/dump.hpp b/3party/boost/boost/log/utility/manipulators/dump.hpp index 7dcaf74061..99b2fad749 100644 --- a/3party/boost/boost/log/utility/manipulators/dump.hpp +++ b/3party/boost/boost/log/utility/manipulators/dump.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -32,14 +32,14 @@ namespace aux { typedef void dump_data_char_t(const void* data, std::size_t size, std::basic_ostream< char >& strm); extern BOOST_LOG_API dump_data_char_t* dump_data_char; -BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char >& strm) +BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char >& strm) { (dump_data_char)(data, size, strm); } typedef void dump_data_wchar_t(const void* data, std::size_t size, std::basic_ostream< wchar_t >& strm); extern BOOST_LOG_API dump_data_wchar_t* dump_data_wchar; -BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< wchar_t >& strm) +BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< wchar_t >& strm) { (dump_data_wchar)(data, size, strm); } @@ -47,7 +47,7 @@ BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::ba #if !defined(BOOST_NO_CXX11_CHAR16_T) typedef void dump_data_char16_t(const void* data, std::size_t size, std::basic_ostream< char16_t >& strm); extern BOOST_LOG_API dump_data_char16_t* dump_data_char16; -BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char16_t >& strm) +BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char16_t >& strm) { (dump_data_char16)(data, size, strm); } @@ -56,7 +56,7 @@ BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::ba #if !defined(BOOST_NO_CXX11_CHAR32_T) typedef void dump_data_char32_t(const void* data, std::size_t size, std::basic_ostream< char32_t >& strm); extern BOOST_LOG_API dump_data_char32_t* dump_data_char32; -BOOST_LOG_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char32_t >& strm) +BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char32_t >& strm) { (dump_data_char32)(data, size, strm); } diff --git a/3party/boost/boost/log/utility/manipulators/to_log.hpp b/3party/boost/boost/log/utility/manipulators/to_log.hpp index 5bde6dd63e..51e96f5bc1 100644 --- a/3party/boost/boost/log/utility/manipulators/to_log.hpp +++ b/3party/boost/boost/log/utility/manipulators/to_log.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -21,7 +21,7 @@ #include <boost/log/utility/formatting_ostream_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/once_block.hpp b/3party/boost/boost/log/utility/once_block.hpp index 614215c265..e52f3d1738 100644 --- a/3party/boost/boost/log/utility/once_block.hpp +++ b/3party/boost/boost/log/utility/once_block.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,7 +19,7 @@ #include <boost/log/utility/unique_identifier_name.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -36,9 +36,10 @@ BOOST_LOG_OPEN_NAMESPACE * macro. Usage example: * * <code> + * once_block_flag flag = BOOST_LOG_ONCE_BLOCK_INIT; + * * void foo() * { - * static once_block_flag flag = BOOST_LOG_ONCE_BLOCK_INIT; * BOOST_LOG_ONCE_BLOCK_FLAG(flag) * { * puts("Hello, world once!"); @@ -52,11 +53,11 @@ struct once_block_flag // Do not use, implementation detail enum { - uninitialized = 0, + uninitialized = 0, // this must be zero, so that zero-initialized once_block_flag is equivalent to the one initialized with uninitialized being_initialized, initialized - } - status; + }; + unsigned char status; #endif // BOOST_LOG_DOXYGEN_PASS }; @@ -72,33 +73,33 @@ namespace aux { class once_block_sentry { private: - once_block_flag& m_Flag; + once_block_flag& m_flag; public: - explicit once_block_sentry(once_block_flag& f) : m_Flag(f) + explicit once_block_sentry(once_block_flag& f) BOOST_NOEXCEPT : m_flag(f) { } - ~once_block_sentry() + ~once_block_sentry() BOOST_NOEXCEPT { - if (m_Flag.status != once_block_flag::initialized) + if (m_flag.status != once_block_flag::initialized) rollback(); } - bool executed() const + bool executed() const BOOST_NOEXCEPT { - return (m_Flag.status == once_block_flag::initialized || enter_once_block()); + return (m_flag.status == once_block_flag::initialized || enter_once_block()); } - BOOST_LOG_API void commit(); + BOOST_LOG_API void commit() BOOST_NOEXCEPT; private: - // Non-copyable, non-assignable - once_block_sentry(once_block_sentry const&); - once_block_sentry& operator= (once_block_sentry const&); + BOOST_LOG_API bool enter_once_block() const BOOST_NOEXCEPT; + BOOST_LOG_API void rollback() BOOST_NOEXCEPT; - BOOST_LOG_API bool enter_once_block() const; - BOOST_LOG_API void rollback(); + // Non-copyable, non-assignable + BOOST_DELETED_FUNCTION(once_block_sentry(once_block_sentry const&)) + BOOST_DELETED_FUNCTION(once_block_sentry& operator= (once_block_sentry const&)) }; } // namespace aux @@ -125,27 +126,26 @@ namespace aux { class once_block_sentry { private: - once_block_flag& m_Flag; + once_block_flag& m_flag; public: - explicit once_block_sentry(once_block_flag& f) : m_Flag(f) + explicit once_block_sentry(once_block_flag& f) BOOST_NOEXCEPT : m_flag(f) { } - bool executed() const + bool executed() const BOOST_NOEXCEPT { - return m_Flag.status; + return m_flag.status; } - void commit() + void commit() BOOST_NOEXCEPT { - m_Flag.status = true; + m_flag.status = true; } -private: // Non-copyable, non-assignable - once_block_sentry(once_block_sentry const&); - once_block_sentry& operator= (once_block_sentry const&); + BOOST_DELETED_FUNCTION(once_block_sentry(once_block_sentry const&)) + BOOST_DELETED_FUNCTION(once_block_sentry& operator= (once_block_sentry const&)) }; } // namespace aux @@ -160,10 +160,11 @@ BOOST_LOG_CLOSE_NAMESPACE // namespace log #define BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(flag_var, sentry_var)\ for (boost::log::aux::once_block_sentry sentry_var((flag_var));\ - !sentry_var.executed(); sentry_var.commit()) + BOOST_UNLIKELY(!sentry_var.executed()); sentry_var.commit()) +// NOTE: flag_var deliberately doesn't have an initializer so that it is zero-initialized at the static initialization stage #define BOOST_LOG_ONCE_BLOCK_INTERNAL(flag_var, sentry_var)\ - static boost::log::once_block_flag flag_var = BOOST_LOG_ONCE_BLOCK_INIT;\ + static boost::log::once_block_flag flag_var;\ BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(flag_var, sentry_var) #endif // BOOST_LOG_DOXYGEN_PASS @@ -176,7 +177,7 @@ BOOST_LOG_CLOSE_NAMESPACE // namespace log * been executed. */ #define BOOST_LOG_ONCE_BLOCK_FLAG(flag_var)\ - BOOST_LOG_ONCE_BLOCK_INTERNAL(\ + BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(\ flag_var,\ BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_sentry_)) diff --git a/3party/boost/boost/log/utility/record_ordering.hpp b/3party/boost/boost/log/utility/record_ordering.hpp index 4950d13a99..bed3b80280 100644 --- a/3party/boost/boost/log/utility/record_ordering.hpp +++ b/3party/boost/boost/log/utility/record_ordering.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/utility/functional/nop.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/setup.hpp b/3party/boost/boost/log/utility/setup.hpp index 68428e276b..135d7dc33c 100644 --- a/3party/boost/boost/log/utility/setup.hpp +++ b/3party/boost/boost/log/utility/setup.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -30,7 +30,7 @@ #include <boost/log/utility/setup/filter_parser.hpp> #include <boost/log/utility/setup/formatter_parser.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/setup/common_attributes.hpp b/3party/boost/boost/log/utility/setup/common_attributes.hpp index a9315b8daa..f2545e963c 100644 --- a/3party/boost/boost/log/utility/setup/common_attributes.hpp +++ b/3party/boost/boost/log/utility/setup/common_attributes.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -27,7 +27,7 @@ #include <boost/log/detail/default_attribute_names.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/setup/console.hpp b/3party/boost/boost/log/utility/setup/console.hpp index 25a9d42c29..fadde4e9b6 100644 --- a/3party/boost/boost/log/utility/setup/console.hpp +++ b/3party/boost/boost/log/utility/setup/console.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,8 +16,9 @@ #define BOOST_LOG_UTILITY_SETUP_CONSOLE_HPP_INCLUDED_ #include <iostream> -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> +#include <boost/core/null_deleter.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/sink_init_helpers.hpp> #ifndef BOOST_LOG_NO_THREADS @@ -26,13 +27,12 @@ #include <boost/log/sinks/unlocked_frontend.hpp> #endif #include <boost/log/sinks/text_ostream_backend.hpp> -#include <boost/log/utility/empty_deleter.hpp> #include <boost/log/keywords/format.hpp> #include <boost/log/keywords/filter.hpp> #include <boost/log/keywords/auto_flush.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -59,7 +59,7 @@ shared_ptr< > > add_console_log(std::basic_ostream< CharT >& strm, ArgsT const& args) { - shared_ptr< std::basic_ostream< CharT > > pStream(&strm, empty_deleter()); + shared_ptr< std::basic_ostream< CharT > > pStream(&strm, boost::null_deleter()); typedef sinks::basic_text_ostream_backend< CharT > backend_t; shared_ptr< backend_t > pBackend = boost::make_shared< backend_t >(); diff --git a/3party/boost/boost/log/utility/setup/file.hpp b/3party/boost/boost/log/utility/setup/file.hpp index 0391096184..12e9f0bc30 100644 --- a/3party/boost/boost/log/utility/setup/file.hpp +++ b/3party/boost/boost/log/utility/setup/file.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -15,8 +15,8 @@ #ifndef BOOST_LOG_UTILITY_SETUP_FILE_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_SETUP_FILE_HPP_INCLUDED_ -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/parameter/parameters.hpp> // for is_named_argument #include <boost/preprocessor/comparison/greater.hpp> #include <boost/preprocessor/punctuation/comma_if.hpp> @@ -37,7 +37,7 @@ #include <boost/log/keywords/scan_method.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/setup/filter_parser.hpp b/3party/boost/boost/log/utility/setup/filter_parser.hpp index 29035635ac..cdc0634fd1 100644 --- a/3party/boost/boost/log/utility/setup/filter_parser.hpp +++ b/3party/boost/boost/log/utility/setup/filter_parser.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -16,9 +16,9 @@ #define BOOST_LOG_UTILITY_SETUP_FILTER_PARSER_HPP_INCLUDED_ #include <string> -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> #include <boost/lexical_cast.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/phoenix/operator/comparison.hpp> #include <boost/type_traits/is_base_and_derived.hpp> #include <boost/utility/enable_if.hpp> @@ -34,7 +34,7 @@ #include <boost/log/core/core.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -56,7 +56,7 @@ struct filter_factory /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(filter_factory(), {}) + BOOST_DEFAULTED_FUNCTION(filter_factory(), {}) /*! * Virtual destructor @@ -77,7 +77,7 @@ struct filter_factory virtual filter on_equality_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The equality attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! * The callback for inequality relation filter @@ -85,7 +85,7 @@ struct filter_factory virtual filter on_inequality_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The inequality attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! * The callback for less relation filter @@ -93,7 +93,7 @@ struct filter_factory virtual filter on_less_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The less attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! * The callback for greater relation filter @@ -101,7 +101,7 @@ struct filter_factory virtual filter on_greater_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The greater attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! * The callback for less or equal relation filter @@ -109,7 +109,7 @@ struct filter_factory virtual filter on_less_or_equal_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The less-or-equal attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! * The callback for greater or equal relation filter @@ -117,7 +117,7 @@ struct filter_factory virtual filter on_greater_or_equal_relation(attribute_name const& name, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The greater-or-equal attribute value relation is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! @@ -126,11 +126,11 @@ struct filter_factory virtual filter on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The custom attribute value relation \"" + boost::log::aux::to_narrow(arg) + "\" is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } - BOOST_LOG_DELETED_FUNCTION(filter_factory(filter_factory const&)) - BOOST_LOG_DELETED_FUNCTION(filter_factory& operator= (filter_factory const&)) + BOOST_DELETED_FUNCTION(filter_factory(filter_factory const&)) + BOOST_DELETED_FUNCTION(filter_factory& operator= (filter_factory const&)) }; /*! @@ -209,7 +209,7 @@ public: virtual filter on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg) { BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The custom attribute value relation \"" + boost::log::aux::to_narrow(arg) + "\" is not supported", (name)); - BOOST_LOG_UNREACHABLE(); + BOOST_LOG_UNREACHABLE_RETURN(filter()); } /*! diff --git a/3party/boost/boost/log/utility/setup/formatter_parser.hpp b/3party/boost/boost/log/utility/setup/formatter_parser.hpp index 429321452d..df78d2ae7e 100644 --- a/3party/boost/boost/log/utility/setup/formatter_parser.hpp +++ b/3party/boost/boost/log/utility/setup/formatter_parser.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,8 +19,8 @@ #include <iosfwd> #include <map> #include <string> -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_base_and_derived.hpp> #include <boost/log/detail/setup_config.hpp> @@ -31,7 +31,7 @@ #include <boost/log/expressions/formatters/stream.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -60,7 +60,7 @@ struct formatter_factory /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(formatter_factory(), {}) + BOOST_DEFAULTED_FUNCTION(formatter_factory(), {}) /*! * Virtual destructor @@ -75,8 +75,8 @@ struct formatter_factory */ virtual formatter_type create_formatter(attribute_name const& name, args_map const& args) = 0; - BOOST_LOG_DELETED_FUNCTION(formatter_factory(formatter_factory const&)) - BOOST_LOG_DELETED_FUNCTION(formatter_factory& operator= (formatter_factory const&)) + BOOST_DELETED_FUNCTION(formatter_factory(formatter_factory const&)) + BOOST_DELETED_FUNCTION(formatter_factory& operator= (formatter_factory const&)) }; /*! diff --git a/3party/boost/boost/log/utility/setup/from_settings.hpp b/3party/boost/boost/log/utility/setup/from_settings.hpp index 6de6f257fd..50c36f524c 100644 --- a/3party/boost/boost/log/utility/setup/from_settings.hpp +++ b/3party/boost/boost/log/utility/setup/from_settings.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #define BOOST_LOG_UTILITY_SETUP_FROM_SETTINGS_HPP_INCLUDED_ #include <string> -#include <boost/shared_ptr.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_base_and_derived.hpp> #include <boost/log/detail/setup_config.hpp> @@ -25,7 +25,7 @@ #include <boost/log/utility/setup/settings.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -60,7 +60,7 @@ struct sink_factory /*! * Default constructor */ - BOOST_LOG_DEFAULTED_FUNCTION(sink_factory(), {}) + BOOST_DEFAULTED_FUNCTION(sink_factory(), {}) /*! * Virtual destructor @@ -74,8 +74,8 @@ struct sink_factory */ virtual shared_ptr< sinks::sink > create_sink(settings_section const& settings) = 0; - BOOST_LOG_DELETED_FUNCTION(sink_factory(sink_factory const&)) - BOOST_LOG_DELETED_FUNCTION(sink_factory& operator= (sink_factory const&)) + BOOST_DELETED_FUNCTION(sink_factory(sink_factory const&)) + BOOST_DELETED_FUNCTION(sink_factory& operator= (sink_factory const&)) }; /*! diff --git a/3party/boost/boost/log/utility/setup/from_stream.hpp b/3party/boost/boost/log/utility/setup/from_stream.hpp index 68aa9d3bd9..0b87459e7c 100644 --- a/3party/boost/boost/log/utility/setup/from_stream.hpp +++ b/3party/boost/boost/log/utility/setup/from_stream.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/detail/setup_config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/setup/settings.hpp b/3party/boost/boost/log/utility/setup/settings.hpp index 379e544aba..bf8a608dea 100644 --- a/3party/boost/boost/log/utility/setup/settings.hpp +++ b/3party/boost/boost/log/utility/setup/settings.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,16 +26,16 @@ #include <boost/property_tree/ptree.hpp> #include <boost/log/detail/setup_config.hpp> #include <boost/log/detail/native_typeof.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #if !defined(BOOST_LOG_TYPEOF) #include <boost/utility/enable_if.hpp> #endif -#if defined(BOOST_LOG_TYPEOF) && defined(BOOST_LOG_NO_TRAILING_RESULT_TYPE) +#if defined(BOOST_LOG_TYPEOF) && defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES) #include <boost/utility/declval.hpp> #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -175,7 +175,7 @@ private: return *this; } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL() bool operator! () const { @@ -223,7 +223,7 @@ private: } #if defined(BOOST_LOG_TYPEOF) && !(defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) && !defined(__PATHSCALE__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)) -#if !defined(BOOST_LOG_NO_TRAILING_RESULT_TYPE) +#if !defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES) template< typename T > auto or_default(T const& def_value) const -> BOOST_LOG_TYPEOF(property_tree_type().get(typename property_tree_type::path_type(), def_value)) { @@ -297,7 +297,7 @@ private: typedef typename iterator_adaptor_::reference reference; public: - BOOST_LOG_DEFAULTED_FUNCTION(iter(), {}) + BOOST_DEFAULTED_FUNCTION(iter(), {}) template< bool OtherIsConstV > iter(iter< OtherIsConstV > const& that) : iterator_adaptor_(that.base()) {} explicit iter(base_iterator_type const& it) : iterator_adaptor_(it) {} @@ -368,12 +368,12 @@ public: /*! * Checks if the section refers to the container. */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Checks if the section refers to the container. */ - bool operator! () const { return !m_ptree; } + bool operator! () const BOOST_NOEXCEPT { return !m_ptree; } /*! * Returns an iterator over the nested subsections and parameters. @@ -506,7 +506,7 @@ public: { if (m_ptree) { - optional< property_tree_type const& > section = m_ptree->get_child_optional(section_name); + optional< property_tree_type& > section = m_ptree->get_child_optional(section_name); if (!!section) return (section->find(param_name) != section->not_found()); } diff --git a/3party/boost/boost/log/utility/setup/settings_parser.hpp b/3party/boost/boost/log/utility/setup/settings_parser.hpp index 8e4b38b336..cf1ea8ea1a 100644 --- a/3party/boost/boost/log/utility/setup/settings_parser.hpp +++ b/3party/boost/boost/log/utility/setup/settings_parser.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -20,7 +20,7 @@ #include <boost/log/utility/setup/settings.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/strictest_lock.hpp b/3party/boost/boost/log/utility/strictest_lock.hpp index ae2282aa53..44733167a6 100644 --- a/3party/boost/boost/log/utility/strictest_lock.hpp +++ b/3party/boost/boost/log/utility/strictest_lock.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -33,7 +33,7 @@ #endif #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/string_literal.hpp b/3party/boost/boost/log/utility/string_literal.hpp index e28be9ded6..cb437fbc33 100644 --- a/3party/boost/boost/log/utility/string_literal.hpp +++ b/3party/boost/boost/log/utility/string_literal.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,6 +18,7 @@ #include <cstddef> #include <stdexcept> #include <iosfwd> +#include <ios> // std::streamsize #include <string> #include <iterator> #include <boost/operators.hpp> @@ -28,7 +29,7 @@ #include <boost/log/utility/string_literal_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -92,7 +93,7 @@ public: * * \post <tt>empty() == true</tt> */ - basic_string_literal() { clear(); } + basic_string_literal() BOOST_NOEXCEPT { clear(); } /*! * Constructor from a string literal @@ -105,7 +106,7 @@ public: //! \cond , typename enable_if< is_same< T, const value_type >, int >::type = 0 //! \endcond - ) + ) BOOST_NOEXCEPT : m_pStart(p), m_Len(LenV - 1) { } @@ -116,7 +117,7 @@ public: * \post <tt>*this == that</tt> * \param that Source literal to copy string from */ - basic_string_literal(basic_string_literal const& that) : m_pStart(that.m_pStart), m_Len(that.m_Len) {} + basic_string_literal(basic_string_literal const& that) BOOST_NOEXCEPT : m_pStart(that.m_pStart), m_Len(that.m_Len) {} /*! * Assignment operator @@ -124,7 +125,7 @@ public: * \post <tt>*this == that</tt> * \param that Source literal to copy string from */ - this_type& operator= (this_type const& that) + this_type& operator= (this_type const& that) BOOST_NOEXCEPT { return assign(that); } @@ -143,7 +144,7 @@ public: #else this_type& #endif // BOOST_LOG_DOXYGEN_PASS - operator= (T(&p)[LenV]) + operator= (T(&p)[LenV]) BOOST_NOEXCEPT { return assign(p); } @@ -154,7 +155,7 @@ public: * \param that Comparand * \return \c true if the comparand string equals to this string, \c false otherwise */ - bool operator== (this_type const& that) const + bool operator== (this_type const& that) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) == 0); } @@ -164,7 +165,7 @@ public: * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. * \return \c true if the comparand string equals to this string, \c false otherwise */ - bool operator== (const_pointer str) const + bool operator== (const_pointer str) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) == 0); } @@ -185,7 +186,7 @@ public: * \param that Comparand * \return \c true if this string is less than the comparand, \c false otherwise */ - bool operator< (this_type const& that) const + bool operator< (this_type const& that) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) < 0); } @@ -195,7 +196,7 @@ public: * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. * \return \c true if this string is less than the comparand, \c false otherwise */ - bool operator< (const_pointer str) const + bool operator< (const_pointer str) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) < 0); } @@ -216,7 +217,7 @@ public: * \param that Comparand * \return \c true if this string is greater than the comparand, \c false otherwise */ - bool operator> (this_type const& that) const + bool operator> (this_type const& that) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) > 0); } @@ -226,7 +227,7 @@ public: * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. * \return \c true if this string is greater than the comparand, \c false otherwise */ - bool operator> (const_pointer str) const + bool operator> (const_pointer str) const BOOST_NOEXCEPT { return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) > 0); } @@ -248,7 +249,7 @@ public: * \param i Requested character index * \return Constant reference to the requested character */ - const_reference operator[] (size_type i) const + const_reference operator[] (size_type i) const BOOST_NOEXCEPT { return m_pStart[i]; } @@ -270,24 +271,24 @@ public: /*! * \return Pointer to the beginning of the literal */ - const_pointer c_str() const { return m_pStart; } + const_pointer c_str() const BOOST_NOEXCEPT { return m_pStart; } /*! * \return Pointer to the beginning of the literal */ - const_pointer data() const { return m_pStart; } + const_pointer data() const BOOST_NOEXCEPT { return m_pStart; } /*! * \return Length of the literal */ - size_type size() const { return m_Len; } + size_type size() const BOOST_NOEXCEPT { return m_Len; } /*! * \return Length of the literal */ - size_type length() const { return m_Len; } + size_type length() const BOOST_NOEXCEPT { return m_Len; } /*! * \return \c true if the literal is an empty string, \c false otherwise */ - bool empty() const + bool empty() const BOOST_NOEXCEPT { return (m_Len == 0); } @@ -295,19 +296,19 @@ public: /*! * \return Iterator that points to the first character of the literal */ - const_iterator begin() const { return m_pStart; } + const_iterator begin() const BOOST_NOEXCEPT { return m_pStart; } /*! * \return Iterator that points after the last character of the literal */ - const_iterator end() const { return m_pStart + m_Len; } + const_iterator end() const BOOST_NOEXCEPT { return m_pStart + m_Len; } /*! * \return Reverse iterator that points to the last character of the literal */ - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } + const_reverse_iterator rbegin() const BOOST_NOEXCEPT { return const_reverse_iterator(end()); } /*! * \return Reverse iterator that points before the first character of the literal */ - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + const_reverse_iterator rend() const BOOST_NOEXCEPT { return const_reverse_iterator(begin()); } /*! * \return STL string constructed from the literal @@ -322,7 +323,7 @@ public: * * \post <tt>empty() == true</tt> */ - void clear() + void clear() BOOST_NOEXCEPT { m_pStart = g_EmptyString; m_Len = 0; @@ -330,13 +331,13 @@ public: /*! * The method swaps two literals */ - void swap(this_type& that) + void swap(this_type& that) BOOST_NOEXCEPT { - register const_pointer p = m_pStart; + const_pointer p = m_pStart; m_pStart = that.m_pStart; that.m_pStart = p; - register size_type l = m_Len; + size_type l = m_Len; m_Len = that.m_Len; that.m_Len = l; } @@ -347,7 +348,7 @@ public: * \post <tt>*this == that</tt> * \param that Source literal to copy string from */ - this_type& assign(this_type const& that) + this_type& assign(this_type const& that) BOOST_NOEXCEPT { m_pStart = that.m_pStart; m_Len = that.m_Len; @@ -368,7 +369,7 @@ public: #else this_type& #endif // BOOST_LOG_DOXYGEN_PASS - assign(T(&p)[LenV]) + assign(T(&p)[LenV]) BOOST_NOEXCEPT { m_pStart = p; m_Len = LenV - 1; @@ -392,7 +393,7 @@ public: if (pos > m_Len) BOOST_THROW_EXCEPTION(std::out_of_range("basic_string_literal::copy: the position is out of range")); - register size_type len = m_Len - pos; + size_type len = m_Len - pos; if (len > n) len = n; traits_type::copy(str, m_pStart + pos, len); @@ -417,7 +418,7 @@ public: if (pos > m_Len) BOOST_THROW_EXCEPTION(std::out_of_range("basic_string_literal::compare: the position is out of range")); - register size_type compare_size = m_Len - pos; + size_type compare_size = m_Len - pos; if (compare_size > len) compare_size = len; if (compare_size > n) @@ -436,7 +437,7 @@ public: * * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range. */ - int compare(size_type pos, size_type n, const_pointer str) const + int compare(size_type pos, size_type n, const_pointer str) const BOOST_NOEXCEPT { return compare(pos, n, str, traits_type::length(str)); } @@ -452,7 +453,7 @@ public: * * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range. */ - int compare(size_type pos, size_type n, this_type const& that) const + int compare(size_type pos, size_type n, this_type const& that) const BOOST_NOEXCEPT { return compare(pos, n, that.c_str(), that.size()); } @@ -464,7 +465,7 @@ public: * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand, * a positive value if this string is greater than the comparand. */ - int compare(const_pointer str, size_type len) const + int compare(const_pointer str, size_type len) const BOOST_NOEXCEPT { return compare(0, m_Len, str, len); } @@ -475,7 +476,7 @@ public: * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand, * a positive value if this string is greater than the comparand. */ - int compare(const_pointer str) const + int compare(const_pointer str) const BOOST_NOEXCEPT { return compare(0, m_Len, str, traits_type::length(str)); } @@ -486,7 +487,7 @@ public: * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand, * a positive value if this string is greater than the comparand. */ - int compare(this_type const& that) const + int compare(this_type const& that) const BOOST_NOEXCEPT { return compare(0, m_Len, that.c_str(), that.size()); } @@ -494,16 +495,15 @@ public: private: #ifndef BOOST_LOG_DOXYGEN_PASS //! Internal comparison implementation - static int compare_internal(const_pointer pLeft, size_type LeftLen, const_pointer pRight, size_type RightLen) + static int compare_internal(const_pointer pLeft, size_type LeftLen, const_pointer pRight, size_type RightLen) BOOST_NOEXCEPT { if (pLeft != pRight) { - register const int result = traits_type::compare( - pLeft, pRight, (LeftLen < RightLen ? LeftLen : RightLen)); + const int result = traits_type::compare(pLeft, pRight, (LeftLen < RightLen ? LeftLen : RightLen)); if (result != 0) return result; } - return static_cast< int >(LeftLen - RightLen); + return LeftLen < RightLen ? -1 : (LeftLen > RightLen ? 1 : 0); } #endif // BOOST_LOG_DOXYGEN_PASS }; @@ -512,20 +512,64 @@ template< typename CharT, typename TraitsT > typename basic_string_literal< CharT, TraitsT >::value_type const basic_string_literal< CharT, TraitsT >::g_EmptyString[1] = { 0 }; +namespace aux { + +template< typename CharT, typename TraitsT > +inline void insert_fill_chars(std::basic_ostream< CharT, TraitsT >& strm, std::size_t n) +{ + enum { chunk_size = 8 }; + CharT fill_chars[chunk_size]; + const CharT filler = strm.fill(); + for (unsigned int i = 0; i < chunk_size; ++i) + fill_chars[i] = filler; + for (; n >= chunk_size && strm.good(); n -= chunk_size) + strm.write(fill_chars, static_cast< std::size_t >(chunk_size)); + if (n > 0 && strm.good()) + strm.write(fill_chars, n); +} + +template< typename CharT, typename TraitsT > +void insert_aligned(std::basic_ostream< CharT, TraitsT >& strm, const CharT* p, std::size_t size) +{ + const std::size_t alignment_size = static_cast< std::size_t >(strm.width()) - size; + const bool align_left = (strm.flags() & std::basic_ostream< CharT, TraitsT >::adjustfield) == std::basic_ostream< CharT, TraitsT >::left; + if (align_left) + { + strm.write(p, size); + if (strm.good()) + aux::insert_fill_chars(strm, alignment_size); + } + else + { + aux::insert_fill_chars(strm, alignment_size); + if (strm.good()) + strm.write(p, size); + } +} + +} // namespace aux + //! Output operator template< typename CharT, typename StrmTraitsT, typename LitTraitsT > inline std::basic_ostream< CharT, StrmTraitsT >& operator<< ( std::basic_ostream< CharT, StrmTraitsT >& strm, basic_string_literal< CharT, LitTraitsT > const& lit) { - strm.write(lit.c_str(), static_cast< std::streamsize >(lit.size())); + if (strm.good()) + { + const std::size_t size = lit.size(); + const std::size_t w = static_cast< std::size_t >(strm.width()); + if (w <= size) + strm.write(lit.c_str(), static_cast< std::streamsize >(size)); + else + aux::insert_aligned(strm, lit.c_str(), lit.size()); + strm.width(0); + } return strm; } //! External swap template< typename CharT, typename TraitsT > -inline void swap( - basic_string_literal< CharT, TraitsT >& left, - basic_string_literal< CharT, TraitsT >& right) +inline void swap(basic_string_literal< CharT, TraitsT >& left, basic_string_literal< CharT, TraitsT >& right) BOOST_NOEXCEPT { left.swap(right); } diff --git a/3party/boost/boost/log/utility/string_literal_fwd.hpp b/3party/boost/boost/log/utility/string_literal_fwd.hpp index 33aa7d9467..69f48986f3 100644 --- a/3party/boost/boost/log/utility/string_literal_fwd.hpp +++ b/3party/boost/boost/log/utility/string_literal_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -18,7 +18,7 @@ #include <string> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/type_dispatch/date_time_types.hpp b/3party/boost/boost/log/utility/type_dispatch/date_time_types.hpp index fefdfc5e4b..5d91ab40c0 100644 --- a/3party/boost/boost/log/utility/type_dispatch/date_time_types.hpp +++ b/3party/boost/boost/log/utility/type_dispatch/date_time_types.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -26,7 +26,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp b/3party/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp index 27356d4e42..8fa3c82d33 100644 --- a/3party/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp +++ b/3party/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,15 +19,15 @@ #include <memory> #include <map> #include <boost/ref.hpp> -#include <boost/shared_ptr.hpp> -#include <boost/make_shared.hpp> +#include <boost/smart_ptr/shared_ptr.hpp> +#include <boost/smart_ptr/make_shared_object.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/visible_type.hpp> #include <boost/log/utility/type_info_wrapper.hpp> #include <boost/log/utility/type_dispatch/type_dispatcher.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/type_dispatch/standard_types.hpp b/3party/boost/boost/log/utility/type_dispatch/standard_types.hpp index 2cfa5de624..0bf6a1db24 100644 --- a/3party/boost/boost/log/utility/type_dispatch/standard_types.hpp +++ b/3party/boost/boost/log/utility/type_dispatch/standard_types.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -23,7 +23,7 @@ #include <boost/log/utility/string_literal_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif diff --git a/3party/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp b/3party/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp index 6f08c1932a..73cf21b243 100644 --- a/3party/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp +++ b/3party/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -36,7 +36,7 @@ #include <boost/log/utility/type_dispatch/type_dispatcher.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -62,12 +62,12 @@ template< typename VisitorT > struct dispatching_map_initializer { template< typename IteratorT > - static BOOST_LOG_FORCEINLINE void init(IteratorT*, IteratorT*, std::pair< type_info_wrapper, void* >*) + static BOOST_FORCEINLINE void init(IteratorT*, IteratorT*, std::pair< type_info_wrapper, void* >*) { } template< typename BeginIteratorT, typename EndIteratorT > - static BOOST_LOG_FORCEINLINE void init(BeginIteratorT*, EndIteratorT* end, std::pair< type_info_wrapper, void* >* p) + static BOOST_FORCEINLINE void init(BeginIteratorT*, EndIteratorT* end, std::pair< type_info_wrapper, void* >* p) { typedef typename mpl::deref< BeginIteratorT >::type type; do_init(static_cast< visible_type< type >* >(0), p); @@ -78,7 +78,7 @@ struct dispatching_map_initializer private: template< typename T > - static BOOST_LOG_FORCEINLINE void do_init(visible_type< T >*, std::pair< type_info_wrapper, void* >* p) + static BOOST_FORCEINLINE void do_init(visible_type< T >*, std::pair< type_info_wrapper, void* >* p) { p->first = typeid(visible_type< T >); @@ -95,10 +95,63 @@ private: } }; +//! A base class for a dispatcher that supports a sequence of types +class type_sequence_dispatcher_base : + public type_dispatcher +{ +private: + //! Dispatching map element type + typedef std::pair< type_info_wrapper, void* > dispatching_map_element_type; + +private: + //! Dispatching map + const dispatching_map_element_type* m_dispatching_map_begin; + //! Dispatching map size + std::size_t m_dispatching_map_size; + //! Pointer to the receiver function + void* m_visitor; + +protected: + //! Initializing constructor + type_sequence_dispatcher_base(const dispatching_map_element_type* disp_map, std::size_t disp_map_size, void* visitor) BOOST_NOEXCEPT : + type_dispatcher(&type_sequence_dispatcher_base::get_callback), + m_dispatching_map_begin(disp_map), + m_dispatching_map_size(disp_map_size), + m_visitor(visitor) + { + } + +private: + //! The get_callback method implementation + static callback_base get_callback(type_dispatcher* p, std::type_info const& type) + { + type_sequence_dispatcher_base* const self = static_cast< type_sequence_dispatcher_base* >(p); + type_info_wrapper wrapper(type); + const dispatching_map_element_type* begin = self->m_dispatching_map_begin; + const dispatching_map_element_type* end = begin + self->m_dispatching_map_size; + const dispatching_map_element_type* it = std::lower_bound + ( + begin, + end, + dispatching_map_element_type(wrapper, (void*)0), + dispatching_map_order() + ); + + if (it != end && it->first == wrapper) + return callback_base(self->m_visitor, it->second); + else + return callback_base(); + } + + // Copying and assignment closed + BOOST_DELETED_FUNCTION(type_sequence_dispatcher_base(type_sequence_dispatcher_base const&)) + BOOST_DELETED_FUNCTION(type_sequence_dispatcher_base& operator= (type_sequence_dispatcher_base const&)) +}; + //! A dispatcher that supports a sequence of types template< typename TypeSequenceT > class type_sequence_dispatcher : - public type_dispatcher + public type_sequence_dispatcher_base { public: //! Type sequence of the supported types @@ -111,46 +164,17 @@ private: mpl::size< supported_types >::value > dispatching_map; -private: - //! Pointer to the receiver function - void* m_pVisitor; - //! Pointer to the dispatching map - dispatching_map const& m_DispatchingMap; - public: /*! * Constructor. Initializes the dispatcher internals. */ template< typename VisitorT > explicit type_sequence_dispatcher(VisitorT& visitor) : - type_dispatcher(&type_sequence_dispatcher< supported_types >::get_callback), - m_pVisitor((void*)boost::addressof(visitor)), - m_DispatchingMap(get_dispatching_map< VisitorT >()) + type_sequence_dispatcher_base(get_dispatching_map< VisitorT >().data(), dispatching_map::static_size, (void*)boost::addressof(visitor)) { } private: - //! The get_callback method implementation - static callback_base get_callback(type_dispatcher* p, std::type_info const& type) - { - type_sequence_dispatcher* const self = static_cast< type_sequence_dispatcher* >(p); - type_info_wrapper wrapper(type); - typename dispatching_map::value_type const* begin = &*self->m_DispatchingMap.begin(); - typename dispatching_map::value_type const* end = begin + dispatching_map::static_size; - typename dispatching_map::value_type const* it = - std::lower_bound( - begin, - end, - std::make_pair(wrapper, (void*)0), - dispatching_map_order() - ); - - if (it != end && it->first == wrapper) - return callback_base(self->m_pVisitor, it->second); - else - return callback_base(); - } - //! The method returns the dispatching map instance template< typename VisitorT > static dispatching_map const& get_dispatching_map() @@ -176,45 +200,61 @@ private: } // Copying and assignment closed - BOOST_LOG_DELETED_FUNCTION(type_sequence_dispatcher(type_sequence_dispatcher const&)) - BOOST_LOG_DELETED_FUNCTION(type_sequence_dispatcher& operator= (type_sequence_dispatcher const&)) + BOOST_DELETED_FUNCTION(type_sequence_dispatcher(type_sequence_dispatcher const&)) + BOOST_DELETED_FUNCTION(type_sequence_dispatcher& operator= (type_sequence_dispatcher const&)) }; -//! A simple dispatcher that only supports one type -template< typename T > -class single_type_dispatcher : +//! A base class for a single-type dispatcher +class single_type_dispatcher_base : public type_dispatcher { private: + //! The type to match against + std::type_info const& m_type; //! A callback for the supported type - callback_base m_Callback; - -public: - //! Constructor - template< typename VisitorT > - explicit single_type_dispatcher(VisitorT& visitor) : - type_dispatcher(&single_type_dispatcher< T >::get_callback), - m_Callback( - (void*)boost::addressof(visitor), - &callback_base::trampoline< VisitorT, T > - ) + callback_base m_callback; + +protected: + //! Initializing constructor + single_type_dispatcher_base(std::type_info const& type, callback_base const& callback) BOOST_NOEXCEPT : + type_dispatcher(&single_type_dispatcher_base::get_callback), + m_type(type), + m_callback(callback) { } + +private: //! The get_callback method implementation static callback_base get_callback(type_dispatcher* p, std::type_info const& type) { - if (type == typeid(visible_type< T >)) - { - single_type_dispatcher* const self = static_cast< single_type_dispatcher* >(p); - return self->m_Callback; - } + single_type_dispatcher_base* const self = static_cast< single_type_dispatcher_base* >(p); + if (type == self->m_type) + return self->m_callback; else return callback_base(); } // Copying and assignment closed - BOOST_LOG_DELETED_FUNCTION(single_type_dispatcher(single_type_dispatcher const&)) - BOOST_LOG_DELETED_FUNCTION(single_type_dispatcher& operator= (single_type_dispatcher const&)) + BOOST_DELETED_FUNCTION(single_type_dispatcher_base(single_type_dispatcher_base const&)) + BOOST_DELETED_FUNCTION(single_type_dispatcher_base& operator= (single_type_dispatcher_base const&)) +}; + +//! A simple dispatcher that only supports one type +template< typename T > +class single_type_dispatcher : + public single_type_dispatcher_base +{ +public: + //! Constructor + template< typename VisitorT > + explicit single_type_dispatcher(VisitorT& visitor) BOOST_NOEXCEPT : + single_type_dispatcher_base(typeid(visible_type< T >), callback_base((void*)boost::addressof(visitor), &callback_base::trampoline< VisitorT, T >)) + { + } + + // Copying and assignment closed + BOOST_DELETED_FUNCTION(single_type_dispatcher(single_type_dispatcher const&)) + BOOST_DELETED_FUNCTION(single_type_dispatcher& operator= (single_type_dispatcher const&)) }; } // namespace aux @@ -251,6 +291,13 @@ private: public: /*! * Constructor. Initializes the dispatcher internals. + * + * The \a receiver object is not copied inside the dispatcher, but references to + * it may be kept by the dispatcher after construction. The receiver object must remain + * valid until the dispatcher is destroyed. + * + * \param receiver Unary function object that will be called on a dispatched value. The receiver + * must be callable with an argument of any of the supported types of the dispatcher. */ template< typename ReceiverT > explicit static_type_dispatcher(ReceiverT& receiver) : @@ -259,8 +306,8 @@ public: } // Copying and assignment prohibited - BOOST_LOG_DELETED_FUNCTION(static_type_dispatcher(static_type_dispatcher const&)) - BOOST_LOG_DELETED_FUNCTION(static_type_dispatcher& operator= (static_type_dispatcher const&)) + BOOST_DELETED_FUNCTION(static_type_dispatcher(static_type_dispatcher const&)) + BOOST_DELETED_FUNCTION(static_type_dispatcher& operator= (static_type_dispatcher const&)) }; BOOST_LOG_CLOSE_NAMESPACE // namespace log diff --git a/3party/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp b/3party/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp index 14a95273e2..36e1ce8b05 100644 --- a/3party/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp +++ b/3party/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -19,10 +19,10 @@ #include <boost/static_assert.hpp> #include <boost/log/detail/config.hpp> #include <boost/log/detail/visible_type.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -50,13 +50,13 @@ public: void* m_pTrampoline; public: - explicit callback_base(void* visitor = 0, void* tramp = 0) : + explicit callback_base(void* visitor = 0, void* tramp = 0) BOOST_NOEXCEPT : m_pVisitor(visitor), m_pTrampoline(tramp) { } template< typename ValueT > - explicit callback_base(void* visitor, void (*tramp)(void*, ValueT const&)) : + explicit callback_base(void* visitor, void (*tramp)(void*, ValueT const&)) BOOST_NOEXCEPT : m_pVisitor(visitor) { typedef void (*trampoline_t)(void*, ValueT const&); @@ -92,10 +92,10 @@ public: typedef T supported_type; public: - callback() : callback_base() + callback() BOOST_NOEXCEPT : callback_base() { } - explicit callback(callback_base const& base) : callback_base(base) + explicit callback(callback_base const& base) BOOST_NOEXCEPT : callback_base(base) { } @@ -112,9 +112,9 @@ public: (caster.as_trampoline)(this->m_pVisitor, value); } - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() - bool operator! () const { return (this->m_pVisitor == 0); } + bool operator! () const BOOST_NOEXCEPT { return (this->m_pVisitor == 0); } }; #else // BOOST_LOG_DOXYGEN_PASS @@ -136,12 +136,12 @@ public: /*! * The operator checks if the visitor is attached to a receiver */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * The operator checks if the visitor is not attached to a receiver */ - bool operator! () const; + bool operator! () const BOOST_NOEXCEPT; }; #endif // BOOST_LOG_DOXYGEN_PASS @@ -158,13 +158,14 @@ protected: /*! * Initializing constructor */ - explicit type_dispatcher(get_callback_impl_type get_callback_impl) : m_get_callback_impl(get_callback_impl) + explicit type_dispatcher(get_callback_impl_type get_callback_impl) BOOST_NOEXCEPT : m_get_callback_impl(get_callback_impl) { } + // Destructor and copying can only be called from the derived classes - BOOST_LOG_DEFAULTED_FUNCTION(~type_dispatcher(), {}) - BOOST_LOG_DEFAULTED_FUNCTION(type_dispatcher(type_dispatcher const& that), : m_get_callback_impl(that.m_get_callback_impl) {}) - BOOST_LOG_DEFAULTED_FUNCTION(type_dispatcher& operator= (type_dispatcher const& that), { m_get_callback_impl = that.m_get_callback_impl; return *this; }) + BOOST_DEFAULTED_FUNCTION(~type_dispatcher(), {}) + BOOST_DEFAULTED_FUNCTION(type_dispatcher(type_dispatcher const& that), : m_get_callback_impl(that.m_get_callback_impl) {}) + BOOST_DEFAULTED_FUNCTION(type_dispatcher& operator= (type_dispatcher const& that), { m_get_callback_impl = that.m_get_callback_impl; return *this; }) public: /*! diff --git a/3party/boost/boost/log/utility/type_info_wrapper.hpp b/3party/boost/boost/log/utility/type_info_wrapper.hpp index a59ac2fea7..8ce4ea2414 100644 --- a/3party/boost/boost/log/utility/type_info_wrapper.hpp +++ b/3party/boost/boost/log/utility/type_info_wrapper.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,17 +17,12 @@ #include <typeinfo> #include <string> +#include <boost/core/demangle.hpp> +#include <boost/core/explicit_operator_bool.hpp> #include <boost/log/detail/config.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> - -#ifdef BOOST_LOG_HAS_CXXABI_H -#include <cxxabi.h> -#include <stdlib.h> -#endif // BOOST_LOG_HAS_CXXABI_H - #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -46,21 +41,8 @@ class type_info_wrapper { private: #ifndef BOOST_LOG_DOXYGEN_PASS - //! An inaccessible type to indicate an uninitialized state of the wrapper - struct BOOST_LOG_VISIBLE uninitialized {}; - -#ifdef BOOST_LOG_HAS_CXXABI_H - //! A simple scope guard for automatic memory free - struct auto_free - { - explicit auto_free(void* p) : p_(p) {} - ~auto_free() { free(p_); } - private: - void* p_; - }; -#endif // BOOST_LOG_HAS_CXXABI_H - + struct BOOST_SYMBOL_VISIBLE uninitialized {}; #endif // BOOST_LOG_DOXYGEN_PASS private: @@ -73,27 +55,27 @@ public: * * \post <tt>!*this == true</tt> */ - type_info_wrapper() : info(&typeid(uninitialized)) {} + type_info_wrapper() BOOST_NOEXCEPT : info(&typeid(uninitialized)) {} /*! * Copy constructor * * \post <tt>*this == that</tt> * \param that Source type info wrapper to copy from */ - type_info_wrapper(type_info_wrapper const& that) : info(that.info) {} + type_info_wrapper(type_info_wrapper const& that) BOOST_NOEXCEPT : info(that.info) {} /*! * Conversion constructor * * \post <tt>*this == that && !!*this</tt> * \param that Type info object to be wrapped */ - type_info_wrapper(std::type_info const& that) : info(&that) {} + type_info_wrapper(std::type_info const& that) BOOST_NOEXCEPT : info(&that) {} /*! * \return \c true if the type info wrapper was initialized with a particular type, * \c false if the wrapper was default-constructed and not yet initialized */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * Stored type info getter @@ -101,14 +83,14 @@ public: * \pre <tt>!!*this</tt> * \return Constant reference to the wrapped type info object */ - std::type_info const& get() const { return *info; } + std::type_info const& get() const BOOST_NOEXCEPT { return *info; } /*! * Swaps two instances of the wrapper */ - void swap(type_info_wrapper& that) + void swap(type_info_wrapper& that) BOOST_NOEXCEPT { - register std::type_info const* temp = info; + std::type_info const* temp = info; info = that.info; that.info = temp; } @@ -122,23 +104,7 @@ public: std::string pretty_name() const { if (!this->operator!()) - { -#ifdef BOOST_LOG_HAS_CXXABI_H - // GCC returns decorated type name, will need to demangle it using ABI - int status = 0; - size_t size = 0; - const char* name = info->name(); - char* undecorated = abi::__cxa_demangle(name, NULL, &size, &status); - auto_free cleanup(undecorated); - - if (undecorated) - return undecorated; - else - return name; -#else - return info->name(); -#endif - } + return boost::core::demangle(info->name()); else return "[uninitialized]"; } @@ -147,7 +113,7 @@ public: * \return \c false if the type info wrapper was initialized with a particular type, * \c true if the wrapper was default-constructed and not yet initialized */ - bool operator! () const { return (info == &typeid(uninitialized) || *info == typeid(uninitialized)); } + bool operator! () const BOOST_NOEXCEPT { return (info == &typeid(uninitialized) || *info == typeid(uninitialized)); } /*! * Equality comparison @@ -157,7 +123,7 @@ public: * If both arguments are empty, the result is \c true. If both arguments are not empty, the result * is \c true if this object wraps the same type as the comparand and \c false otherwise. */ - bool operator== (type_info_wrapper const& that) const + bool operator== (type_info_wrapper const& that) const BOOST_NOEXCEPT { return (info == that.info || *info == *that.info); } @@ -171,43 +137,43 @@ public: * \note The results of this operator are only consistent within a single run of application. * The result may change for the same types after rebuilding or even restarting the application. */ - bool operator< (type_info_wrapper const& that) const + bool operator< (type_info_wrapper const& that) const BOOST_NOEXCEPT { return static_cast< bool >(info->before(*that.info)); } }; //! Inequality operator -inline bool operator!= (type_info_wrapper const& left, type_info_wrapper const& right) +inline bool operator!= (type_info_wrapper const& left, type_info_wrapper const& right) BOOST_NOEXCEPT { return !left.operator==(right); } //! Ordering operator -inline bool operator<= (type_info_wrapper const& left, type_info_wrapper const& right) +inline bool operator<= (type_info_wrapper const& left, type_info_wrapper const& right) BOOST_NOEXCEPT { return (left.operator==(right) || left.operator<(right)); } //! Ordering operator -inline bool operator> (type_info_wrapper const& left, type_info_wrapper const& right) +inline bool operator> (type_info_wrapper const& left, type_info_wrapper const& right) BOOST_NOEXCEPT { return !(left.operator==(right) || left.operator<(right)); } //! Ordering operator -inline bool operator>= (type_info_wrapper const& left, type_info_wrapper const& right) +inline bool operator>= (type_info_wrapper const& left, type_info_wrapper const& right) BOOST_NOEXCEPT { return !left.operator<(right); } //! Free swap for type info wrapper -inline void swap(type_info_wrapper& left, type_info_wrapper& right) +inline void swap(type_info_wrapper& left, type_info_wrapper& right) BOOST_NOEXCEPT { left.swap(right); } -//! A The function for support of exception serialization to string +//! The function for exception serialization to string inline std::string to_string(type_info_wrapper const& ti) { return ti.pretty_name(); diff --git a/3party/boost/boost/log/utility/unique_identifier_name.hpp b/3party/boost/boost/log/utility/unique_identifier_name.hpp index c1fd70f794..ad25296e55 100644 --- a/3party/boost/boost/log/utility/unique_identifier_name.hpp +++ b/3party/boost/boost/log/utility/unique_identifier_name.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -9,17 +9,16 @@ * \author Andrey Semashev * \date 30.04.2008 * - * The header contains BOOST_LOG_UNIQUE_IDENTIFIER_NAME macro definition. + * The header contains \c BOOST_LOG_UNIQUE_IDENTIFIER_NAME macro definition. */ #ifndef BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_ #define BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_ -#include <boost/detail/workaround.hpp> #include <boost/preprocessor/cat.hpp> #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -37,16 +36,16 @@ * * Constructs a unique (in the current file scope) token that can be used as a variable name. * The name will contain a prefix passed in the \a prefix argument. This allows to use the - * macro multiple times in another macro. + * macro multiple times on a single line. */ // In VC 7.0 and later when compiling with /ZI option __LINE__ macro is corrupted -#if BOOST_WORKAROUND(BOOST_MSVC, >=1300) +#ifdef BOOST_MSVC # define BOOST_LOG_UNIQUE_IDENTIFIER_NAME(prefix)\ BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL(prefix, __COUNTER__) #else # define BOOST_LOG_UNIQUE_IDENTIFIER_NAME(prefix)\ BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL(prefix, __LINE__) -#endif // BOOST_WORKAROUND(BOOST_MSVC, >= 1300) +#endif // BOOST_MSVC #endif // BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_ diff --git a/3party/boost/boost/log/utility/unused_variable.hpp b/3party/boost/boost/log/utility/unused_variable.hpp index bc057ee4ef..816e102533 100644 --- a/3party/boost/boost/log/utility/unused_variable.hpp +++ b/3party/boost/boost/log/utility/unused_variable.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -35,7 +35,7 @@ BOOST_LOG_OPEN_NAMESPACE namespace aux { template< typename T > -BOOST_LOG_FORCEINLINE void no_unused_warnings(T const&) {} +BOOST_FORCEINLINE void no_unused_warnings(T const&) BOOST_NOEXCEPT {} } // namespace aux diff --git a/3party/boost/boost/log/utility/value_ref.hpp b/3party/boost/boost/log/utility/value_ref.hpp index 55cb2b43c2..08fda4c553 100644 --- a/3party/boost/boost/log/utility/value_ref.hpp +++ b/3party/boost/boost/log/utility/value_ref.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -37,7 +37,7 @@ #include <boost/log/detail/config.hpp> #include <boost/log/detail/parameter_tools.hpp> #include <boost/log/detail/value_ref_visitation.hpp> -#include <boost/log/utility/explicit_operator_bool.hpp> +#include <boost/utility/explicit_operator_bool.hpp> #include <boost/log/utility/formatting_ostream_fwd.hpp> #include <boost/log/utility/functional/logical.hpp> #include <boost/log/utility/functional/bind.hpp> @@ -47,7 +47,7 @@ #include <boost/log/utility/value_ref_fwd.hpp> #include <boost/log/detail/header.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -428,12 +428,12 @@ public: /*! * Default constructor. Creates a reference wrapper that does not refer to a value. */ - BOOST_LOG_DEFAULTED_FUNCTION(value_ref(), BOOST_NOEXCEPT {}) + BOOST_DEFAULTED_FUNCTION(value_ref(), BOOST_NOEXCEPT {}) /*! * Copy constructor. */ - BOOST_LOG_DEFAULTED_FUNCTION(value_ref(value_ref const& that), BOOST_NOEXCEPT : base_type(static_cast< base_type const& >(that)) {}) + BOOST_DEFAULTED_FUNCTION(value_ref(value_ref const& that), BOOST_NOEXCEPT : base_type(static_cast< base_type const& >(that)) {}) /*! * Initializing constructor. Creates a reference wrapper that refers to the specified value. @@ -447,7 +447,7 @@ public: /*! * The operator verifies if the wrapper refers to a value. */ - BOOST_LOG_EXPLICIT_OPERATOR_BOOL() + BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() /*! * The operator verifies if the wrapper does not refer to a value. diff --git a/3party/boost/boost/log/utility/value_ref_fwd.hpp b/3party/boost/boost/log/utility/value_ref_fwd.hpp index e7ffb3f704..aa4fa20225 100644 --- a/3party/boost/boost/log/utility/value_ref_fwd.hpp +++ b/3party/boost/boost/log/utility/value_ref_fwd.hpp @@ -1,5 +1,5 @@ /* - * Copyright Andrey Semashev 2007 - 2013. + * Copyright Andrey Semashev 2007 - 2014. * 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) @@ -17,7 +17,7 @@ #include <boost/log/detail/config.hpp> -#ifdef BOOST_LOG_HAS_PRAGMA_ONCE +#ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif |