substitute_fwd.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //-----------------------------------------------------------------------------
  2. // boost variant/detail/substitute_fwd.hpp header file
  3. // See http://www.boost.org for updates, documentation, and revision history.
  4. //-----------------------------------------------------------------------------
  5. //
  6. // Copyright (c) 2003
  7. // Eric Friedman
  8. //
  9. // Distributed under the Boost Software License, Version 1.0. (See
  10. // accompanying file LICENSE_1_0.txt or copy at
  11. // http://www.boost.org/LICENSE_1_0.txt)
  12. #ifndef BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP
  13. #define BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP
  14. #include <boost/mpl/aux_/lambda_arity_param.hpp>
  15. #include <boost/mpl/aux_/template_arity.hpp>
  16. #include <boost/mpl/int_fwd.hpp>
  17. #include <boost/mpl/aux_/config/ctps.hpp>
  18. #include <boost/mpl/aux_/config/ttp.hpp>
  19. namespace boost {
  20. namespace detail { namespace variant {
  21. ///////////////////////////////////////////////////////////////////////////////
  22. // metafunction substitute
  23. //
  24. // Substitutes one type for another in the given type expression.
  25. //
  26. template <
  27. typename T, typename Dest, typename Source
  28. BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
  29. typename Arity = mpl::int_< mpl::aux::template_arity<T>::value >
  30. )
  31. >
  32. struct substitute;
  33. }} // namespace detail::variant
  34. } // namespace boost
  35. #endif // BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP