attr_fwd.hpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. #ifndef BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_
  15. #define BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_
  16. #include <boost/log/detail/config.hpp>
  17. #include <boost/log/attributes/fallback_policy_fwd.hpp>
  18. #ifdef BOOST_HAS_PRAGMA_ONCE
  19. #pragma once
  20. #endif
  21. namespace boost {
  22. #ifndef BOOST_LOG_DOXYGEN_PASS
  23. namespace phoenix {
  24. template< typename >
  25. struct actor;
  26. } // namespace phoenix
  27. #endif
  28. BOOST_LOG_OPEN_NAMESPACE
  29. namespace expressions {
  30. /*!
  31. * An attribute value extraction terminal
  32. */
  33. template<
  34. typename T,
  35. typename FallbackPolicyT = fallback_to_none,
  36. typename TagT = void
  37. >
  38. class attribute_terminal;
  39. /*!
  40. * An attribute value extraction terminal actor
  41. */
  42. template<
  43. typename T,
  44. typename FallbackPolicyT = fallback_to_none,
  45. typename TagT = void,
  46. template< typename > class ActorT = phoenix::actor
  47. >
  48. class attribute_actor;
  49. } // namespace expressions
  50. BOOST_LOG_CLOSE_NAMESPACE // namespace log
  51. } // namespace boost
  52. #endif // BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_