typeof.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*=============================================================================
  2. Copyright (c) 2006 Tobias Schwinger
  3. http://spirit.sourceforge.net/
  4. Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. =============================================================================*/
  7. #if !defined(BOOST_SPIRIT_DEBUG_TYPEOF_HPP)
  8. #define BOOST_SPIRIT_DEBUG_TYPEOF_HPP
  9. #include <boost/typeof/typeof.hpp>
  10. #include <boost/spirit/home/classic/namespace.hpp>
  11. #include <boost/spirit/home/classic/core/typeof.hpp>
  12. namespace boost { namespace spirit {
  13. BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
  14. // debug_node.hpp
  15. template<typename ContextT> struct parser_context_linker;
  16. template<typename ScannerT> struct scanner_context_linker;
  17. template<typename ContextT> struct closure_context_linker;
  18. BOOST_SPIRIT_CLASSIC_NAMESPACE_END
  19. }} // namespace BOOST_SPIRIT_CLASSIC_NS
  20. #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
  21. // debug_node.hpp
  22. BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::parser_context_linker,1)
  23. BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::scanner_context_linker,1)
  24. BOOST_TYPEOF_REGISTER_TEMPLATE(BOOST_SPIRIT_CLASSIC_NS::closure_context_linker,1)
  25. #endif