2 * Copyright Andrey Semashev 2007 - 2015.
3 * Distributed under the Boost Software License, Version 1.0.
4 * (See accompanying file LICENSE_1_0.txt or copy at
5 * http://www.boost.org/LICENSE_1_0.txt)
8 * \file value_extraction_fwd.hpp
9 * \author Andrey Semashev
12 * The header contains forward declaration of tools for extracting attribute values
16 #ifndef BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_
17 #define BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_
19 #include <boost/log/detail/config.hpp>
20 #include <boost/log/attributes/fallback_policy_fwd.hpp>
22 #ifdef BOOST_HAS_PRAGMA_ONCE
28 BOOST_LOG_OPEN_NAMESPACE
33 * \brief A metafunction that allows to acquire the result of the value extraction
35 template< typename T, typename DefaultT = T, typename TagT = void >
36 struct extract_or_default;
39 * \brief A metafunction that allows to acquire the result of the value extraction
41 template< typename T, typename TagT = void >
42 struct extract_or_throw;
45 * \brief A metafunction that allows to acquire the result of the value extraction
47 template< typename T, typename TagT = void >
50 } // namespace result_of
53 * \brief Generic attribute value extractor
55 template< typename T, typename FallbackPolicyT = fallback_to_none, typename TagT = void >
56 class value_extractor;
58 BOOST_LOG_CLOSE_NAMESPACE // namespace log
62 #endif // BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_