Stan Math Library  2.20.0
reverse mode automatic differentiation
mpi_command.hpp
Go to the documentation of this file.
1 #ifdef STAN_MPI
2 
3 #ifndef STAN_MATH_PRIM_ARR_FUNCTOR_MPI_COMMAND_HPP
4 #define STAN_MATH_PRIM_ARR_FUNCTOR_MPI_COMMAND_HPP
5 
6 #include <boost/serialization/serialization.hpp>
7 #include <boost/serialization/access.hpp>
8 #include <boost/serialization/base_object.hpp>
9 #include <boost/serialization/export.hpp>
10 
11 namespace stan {
12 namespace math {
13 
32 struct mpi_command {
33  // declarations needed for boost.serialization (see
34  // https://www.boost.org/doc/libs/1_66_0/libs/serialization/doc/index.html)
35  friend class boost::serialization::access;
36  template <class Archive>
37  void serialize(Archive& ar, const unsigned int version) {}
38 
39  virtual void run() const = 0;
40 };
41 
42 } // namespace math
43 } // namespace stan
44 
45 BOOST_SERIALIZATION_ASSUME_ABSTRACT(stan::math::mpi_command)
46 
47 #define STAN_REGISTER_MPI_COMMAND(command) \
48  BOOST_CLASS_IMPLEMENTATION(command, \
49  boost::serialization::object_serializable) \
50  BOOST_CLASS_EXPORT(command) \
51  BOOST_CLASS_TRACKING(command, boost::serialization::track_never)
52 
53 #endif
54 
55 #endif

     [ Stan Home Page ] © 2011–2018, Stan Development Team.