diff --git a/include/boost/mpi/cartesian_communicator.hpp b/include/boost/mpi/cartesian_communicator.hpp index 09861ef..4797d19 100644 --- a/include/boost/mpi/cartesian_communicator.hpp +++ b/include/boost/mpi/cartesian_communicator.hpp @@ -81,7 +81,7 @@ operator!=(cartesian_dimension const& d1, cartesian_dimension const& d2) { /** * @brief Pretty printing of a cartesian dimension (size, periodic) */ -std::ostream& operator<<(std::ostream& out, cartesian_dimension const& d); +BOOST_MPI_DECL std::ostream& operator<<(std::ostream& out, cartesian_dimension const& d); /** * @brief Describe the topology of a cartesian grid. @@ -235,7 +235,7 @@ operator!=(cartesian_topology const& t1, cartesian_topology const& t2) { /** * @brief Pretty printing of a cartesian topology */ -std::ostream& operator<<(std::ostream& out, cartesian_topology const& t); +BOOST_MPI_DECL std::ostream& operator<<(std::ostream& out, cartesian_topology const& t); /** * @brief An MPI communicator with a cartesian topology. diff --git a/include/boost/mpi/collectives/broadcast.hpp b/include/boost/mpi/collectives/broadcast.hpp index f8b27f0..cd30963 100644 --- a/include/boost/mpi/collectives/broadcast.hpp +++ b/include/boost/mpi/collectives/broadcast.hpp @@ -57,7 +57,7 @@ broadcast(const communicator& comm, * INTERNAL ONLY */ template<> -void +BOOST_MPI_DECL void broadcast(const communicator& comm, packed_skeleton_oarchive& oa, int root); @@ -65,7 +65,7 @@ broadcast(const communicator& comm, * INTERNAL ONLY */ template<> -void +BOOST_MPI_DECL void broadcast(const communicator& comm, packed_skeleton_iarchive& ia, int root); @@ -73,13 +73,15 @@ broadcast(const communicator& comm, * INTERNAL ONLY */ template<> -void broadcast(const communicator& comm, content& c, int root); +BOOST_MPI_DECL void +broadcast(const communicator& comm, content& c, int root); /** * INTERNAL ONLY */ template<> -void broadcast(const communicator& comm, const content& c, +BOOST_MPI_DECL void +broadcast(const communicator& comm, const content& c, int root); /************************************************************************ diff --git a/include/boost/mpi/detail/computation_tree.hpp b/include/boost/mpi/detail/computation_tree.hpp index 83acd72..9cdf83b 100644 --- a/include/boost/mpi/detail/computation_tree.hpp +++ b/include/boost/mpi/detail/computation_tree.hpp @@ -9,6 +9,8 @@ #ifndef BOOST_MPI_COMPUTATION_TREE_HPP #define BOOST_MPI_COMPUTATION_TREE_HPP +#include + namespace boost { namespace mpi { namespace detail { /** @@ -16,7 +18,7 @@ namespace boost { namespace mpi { namespace detail { * * Objects of this type */ -class computation_tree +class BOOST_MPI_DECL computation_tree { public: computation_tree(int rank, int size, int root, int branching_factor = -1); diff --git a/include/boost/mpi/detail/offsets.hpp b/include/boost/mpi/detail/offsets.hpp index e6afaa0..34bf1be 100644 --- a/include/boost/mpi/detail/offsets.hpp +++ b/include/boost/mpi/detail/offsets.hpp @@ -26,7 +26,7 @@ BOOST_MPI_DECL void sizes2offsets(std::vector const& sizes, std::vector>(std::istream& in, level& l); +BOOST_MPI_DECL std::istream& operator>>(std::istream& in, level& l); } // namespace threading /** @brief Initialize, finalize, and query the MPI environment. * diff --git a/include/boost/mpi/graph_communicator.hpp b/include/boost/mpi/graph_communicator.hpp index 5bd1cf2..0820d78 100644 --- a/include/boost/mpi/graph_communicator.hpp +++ b/include/boost/mpi/graph_communicator.hpp @@ -418,7 +418,7 @@ inline int target(const std::pair& edge, const graph_communicator&) * outgoing from the given vertex in a graph topology of a * communicator. */ -std::pair +BOOST_MPI_DECL std::pair out_edges(int vertex, const graph_communicator& comm); @@ -426,7 +426,7 @@ out_edges(int vertex, const graph_communicator& comm); * @brief Returns the out-degree of a vertex in the graph topology of * a communicator. */ -int out_degree(int vertex, const graph_communicator& comm); +BOOST_MPI_DECL int out_degree(int vertex, const graph_communicator& comm); // Adjacency Graph requirements @@ -464,14 +464,14 @@ inline int num_vertices(const graph_communicator& comm) { return comm.size(); } * @brief Returns an iterator range that contains all of the edges * with the communicator's graph topology. */ -std::pair +BOOST_MPI_DECL std::pair edges(const graph_communicator& comm); /** * @brief Returns the number of edges in the communicator's graph * topology. */ -int num_edges(const graph_communicator& comm); +BOOST_MPI_DECL int num_edges(const graph_communicator& comm); // Property Graph requirements