# Allow for rst directives and advanced functions e.g. grid tables
ALIASES = "beginrst=\verbatim embed:rst:leading-asterisk"
-ALIASES += "rst=\verbatim "
ALIASES += "endrst=\endverbatim"
# Enable preprocessing and related preprocessor necessities
/** @brief Object representing an ongoing communication between processes.
*
- * \rst
+ * @beginrst
* Such beast is usually obtained by using :cpp:func:`MSG_task_isend`, :cpp:func:`MSG_task_irecv` or friends.
- * \endrst
+ * @endrst
*/
typedef sg_msg_Comm* msg_comm_t;
typedef const sg_msg_Comm* const_msg_comm_t;
/** An actor is an independent stream of execution in your distributed application.
*
- * \rst
+ * @beginrst
* It is located on a (simulated) :cpp:class:`host <simgrid::s4u::Host>`, but can interact
* with the whole simulated platform.
*
* The `documentation of this standard <http://en.cppreference.com/w/cpp/thread>`_
* may help to understand the philosophy of the SimGrid actors.
*
- * \endrst */
+ * @endrst
+ */
class XBT_PUBLIC Actor : public xbt::Extendable<Actor> {
#ifndef DOXYGEN
friend Exec;
/** Block the current actor until the built parallel execution terminates
*
- * \rst
+ * @beginrst
* .. _API_s4u_parallel_execute:
*
* **Example of use:** `examples/cpp/exec-ptask/s4u-exec-ptask.cpp
* models, and you must :ref:`use the ptask_L07 host model <options_model_select>` for that. Note that you can mix
* regular executions and communications with parallel executions, provided that the host model is ptask_L07.
*
- * \endrst
+ * @endrst
*/
/** Block the current actor until the built parallel execution completes */
XBT_PUBLIC void parallel_execute(const std::vector<s4u::Host*>& hosts, const std::vector<double>& flops_amounts,
namespace s4u {
/**
- * @rst
+ * @beginrst
* SimGrid's condition variables are meant to be drop-in replacements of ``std::condition_variable``.
* Please refer to the `documentation of standard C++ <https://en.cppreference.com/w/cpp/thread/condition_variable>`_
* for more information on condition variables. A SimGrid example is available in Section :ref:`s4u_ex_IPC`.
/** Create a new condition variable and return a smart pointer
*
- * @rst
+ * @beginrst
* You should only manipulate :cpp:type:`simgrid::s4u::ConditionVariablePtr`, as created by this function (see also :ref:`s4u_raii`).
* @endrst
*/
/** Computation Activity, representing the asynchronous executions.
*
- * @rst
+ * @beginrst
* Most of them are created with :cpp:func:`simgrid::s4u::this_actor::exec_init()` or
* :cpp:func:`simgrid::s4u::Host::execute()`, and represent a classical (sequential) execution. This can be used to
* simulate some computation occurring in another thread when the calling actor is not blocked during the execution.
namespace s4u {
/**
- * @rst
+ * @beginrst
* A Link represents the network facilities between :cpp:class:`hosts <simgrid::s4u::Host>`.
* @endrst
*/
/** @brief A classical mutex, but blocking in the simulation world.
*
- * @rst
+ * @beginrst
* It is strictly impossible to use a real mutex, such as
* `std::mutex <http://en.cppreference.com/w/cpp/thread/mutex>`_
* or `pthread_mutex_t <http://pubs.opengroup.org/onlinepubs/007908775/xsh/pthread_mutex_lock.html>`_,
/** @brief A classical semaphore, but blocking in the simulation world
*
- * @rst
+ * @beginrst
* It is strictly impossible to use a real semaphore, such as
* `sem_init <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sem_init.html>`_,
* because it would block the whole simulation.
/** Used internally to interrupt the user code when the process gets killed.
*
- * \rst
+ * @beginrst
* You can catch it for cleanups or to debug, but DO NOT BLOCK IT, or your simulation will segfault!
*
* .. code-block:: java
* throw e;
* }
*
- * \endrst
+ * @endrst
*/
public class ProcessKilledError extends Error {
*
* A constructor for #msg_task_t taking six arguments.
*
- * \rst
+ * @beginrst
* See :cpp:func:`void simgrid::s4u::this_actor::parallel_execute(int, s4u::Host**, double*, double*)` for
* the exact semantic of the parameters.
- * \endrst
+ * @endrst
*
* @param name a name for the object. It is for user-level information and can be nullptr.
* @param host_nb the number of hosts implied in the parallel task.
/**
* Creates a new platform, including hosts, links, and the routing table.
*
- * \rst
+ * @beginrst
* See also: :ref:`platform`.
- * \endrst
+ * @endrst
*/
void Engine::load_platform(const std::string& platf) const
{
/** Load a deployment file and launch the actors that it contains
*
- * \rst
+ * @beginrst
* See also: :ref:`deploy`.
- * \endrst
+ * @endrst
*/
void Engine::load_deployment(const std::string& deploy) const
{