typeof.hpp 920 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright (C) 2004 Arkadiy Vertleyb
  2. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  3. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. #ifndef BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
  5. #define BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
  6. #include <boost/config.hpp>
  7. #include <boost/config/workaround.hpp>
  8. #if BOOST_WORKAROUND(BOOST_MSVC, <= 1900)
  9. # include <boost/typeof/msvc/typeof_impl.hpp>
  10. # define BOOST_TYPEOF_REGISTER_TYPE(x)
  11. # define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
  12. #else
  13. # include <boost/typeof/decltype.hpp>
  14. #endif
  15. #define BOOST_TYPEOF_UNIQUE_ID()\
  16. BOOST_TYPEOF_REGISTRATION_GROUP * 0x10000 + __LINE__
  17. #define BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
  18. <boost/typeof/incr_registration_group.hpp>
  19. // auto
  20. #define BOOST_AUTO(Var, Expr) auto Var = Expr
  21. #define BOOST_AUTO_TPL(Var, Expr) auto Var = Expr
  22. #endif//BOOST_TYPEOF_TYPEOF_HPP_INCLUDED