datatype_fwd.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright (C) 2006 Douglas Gregor <doug.gregor -at- gmail.com>.
  2. // Use, modification and distribution is subject to the Boost Software
  3. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt)
  5. /** @file datatype_fwd.hpp
  6. *
  7. * This header provides forward declarations for the contents of the
  8. * header @c datatype.hpp. It is expected to be used primarily by
  9. * user-defined C++ classes that need to specialize @c
  10. * is_mpi_datatype.
  11. */
  12. #ifndef BOOST_MPI_DATATYPE_FWD_HPP
  13. #define BOOST_MPI_DATATYPE_FWD_HPP
  14. #include <boost/mpi/config.hpp>
  15. namespace boost { namespace mpi {
  16. template<typename T> struct is_mpi_builtin_datatype;
  17. template<typename T> struct is_mpi_integer_datatype;
  18. template<typename T> struct is_mpi_floating_point_datatype;
  19. template<typename T> struct is_mpi_logical_datatype;
  20. template<typename T> struct is_mpi_complex_datatype;
  21. template<typename T> struct is_mpi_byte_datatype;
  22. template<typename T> struct is_mpi_datatype;
  23. template<typename T> MPI_Datatype get_mpi_datatype(const T& x);
  24. template<typename T> MPI_Datatype get_mpi_datatype()
  25. { return get_mpi_datatype(T());}
  26. /// a dummy data type giving MPI_PACKED as its MPI_Datatype
  27. struct packed {};
  28. } } // end namespace boost::mpi
  29. #endif // BOOST_MPI_MPI_DATATYPE_FWD_HPP