1 /* 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) 6 */ 7 /*! 8 * \file attr_fwd.hpp 9 * \author Andrey Semashev 10 * \date 21.07.2012 11 * 12 * The header contains forward declaration of a generic attribute placeholder in template expressions. 13 */ 14 15 #ifndef BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_ 16 #define BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_ 17 18 #include <boost/log/detail/config.hpp> 19 #include <boost/log/attributes/fallback_policy_fwd.hpp> 20 21 #ifdef BOOST_HAS_PRAGMA_ONCE 22 #pragma once 23 #endif 24 25 namespace boost { 26 27 #ifndef BOOST_LOG_DOXYGEN_PASS 28 29 namespace phoenix { 30 31 template< typename > 32 struct actor; 33 34 } // namespace phoenix 35 36 #endif 37 38 BOOST_LOG_OPEN_NAMESPACE 39 40 namespace expressions { 41 42 /*! 43 * An attribute value extraction terminal 44 */ 45 template< 46 typename T, 47 typename FallbackPolicyT = fallback_to_none, 48 typename TagT = void 49 > 50 class attribute_terminal; 51 52 /*! 53 * An attribute value extraction terminal actor 54 */ 55 template< 56 typename T, 57 typename FallbackPolicyT = fallback_to_none, 58 typename TagT = void, 59 template< typename > class ActorT = phoenix::actor 60 > 61 class attribute_actor; 62 63 } // namespace expressions 64 65 BOOST_LOG_CLOSE_NAMESPACE // namespace log 66 67 } // namespace boost 68 69 #endif // BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_ 70