* - Synchronization activities may possibly be connected to no action.
*/
class XBT_PUBLIC Activity {
-#ifndef DOXYGEN
- friend Comm;
+ friend simgrid::s4u::Comm;
friend XBT_PUBLIC void intrusive_ptr_release(Comm * c);
friend XBT_PUBLIC void intrusive_ptr_add_ref(Comm * c);
- friend Exec;
+ friend simgrid::s4u::Exec;
friend XBT_PUBLIC void intrusive_ptr_release(Exec * e);
friend XBT_PUBLIC void intrusive_ptr_add_ref(Exec * e);
- friend Io;
+ friend simgrid::s4u::Io;
friend XBT_PUBLIC void intrusive_ptr_release(Io* i);
friend XBT_PUBLIC void intrusive_ptr_add_ref(Io* i);
-#endif
protected:
Activity() = default;
/** @brief Simulation Agent */
class XBT_PUBLIC Actor : public simgrid::xbt::Extendable<Actor> {
-#ifndef DOXYGEN
- friend Exec;
- friend Mailbox;
+ friend simgrid::s4u::Exec;
+ friend simgrid::s4u::Mailbox;
friend simgrid::kernel::actor::ActorImpl;
friend simgrid::kernel::activity::MailboxImpl;
-#endif
+
kernel::actor::ActorImpl* pimpl_ = nullptr;
explicit Actor(smx_actor_t pimpl) : pimpl_(pimpl) {}
public:
friend XBT_PUBLIC void intrusive_ptr_release(simgrid::s4u::Comm * c);
friend XBT_PUBLIC void intrusive_ptr_add_ref(simgrid::s4u::Comm * c);
- friend Mailbox; // Factory of comms
+ friend simgrid::s4u::Mailbox; // Factory of comms
virtual ~Comm();
*/
class XBT_PUBLIC ConditionVariable {
private:
-#ifndef DOXYGEN
- friend kernel::activity::ConditionVariableImpl;
+ friend simgrid::kernel::activity::ConditionVariableImpl;
smx_cond_t cond_;
-#endif
+
explicit ConditionVariable(smx_cond_t cond) : cond_(cond) {}
public:
ConditionVariable(ConditionVariable const&) = delete;
* and actors can retrieve the host on which they run using simgrid::s4u::Host::current().
*/
class XBT_PUBLIC Host : public simgrid::xbt::Extendable<Host> {
-#ifndef DOXYGEN
friend simgrid::vm::VMModel; // Use the pimpl_cpu to compute the VM sharing
friend simgrid::vm::VirtualMachineImpl; // creates the the pimpl_cpu
-#endif
public:
explicit Host(std::string name);
public:
friend XBT_PUBLIC void intrusive_ptr_release(simgrid::s4u::Io* i);
friend XBT_PUBLIC void intrusive_ptr_add_ref(simgrid::s4u::Io* i);
- friend Storage; // Factory of IOs
+ friend simgrid::s4u::Storage; // Factory of IOs
~Io() = default;
namespace s4u {
/** @brief A Link represents the network facilities between [hosts](@ref simgrid::s4u::Host) */
class XBT_PUBLIC Link : public simgrid::xbt::Extendable<Link> {
-#ifndef DOXYGEN
friend simgrid::kernel::resource::LinkImpl;
-#endif
// Links are created from the NetZone, and destroyed by their private implementation when the simulation ends
explicit Link(kernel::resource::LinkImpl* pimpl) : pimpl_(pimpl) {}
*
*/
class XBT_PUBLIC Mailbox {
-#ifndef DOXYGEN
- friend Comm;
+ friend simgrid::s4u::Comm;
friend simgrid::kernel::activity::MailboxImpl;
-#endif
simgrid::kernel::activity::MailboxImpl* pimpl_;
*
*/
class XBT_PUBLIC Mutex {
-#ifndef DOXYGEN
- friend ConditionVariable;
+ friend simgrid::s4u::ConditionVariable;
friend simgrid::kernel::activity::MutexImpl;
-#endif
+
simgrid::kernel::activity::MutexImpl* pimpl_;
explicit Mutex(simgrid::kernel::activity::MutexImpl* mutex) : pimpl_(mutex) {}
*/
class XBT_PUBLIC NetZone {
protected:
-#ifndef DOXYGEN
friend simgrid::kernel::routing::NetZoneImpl;
-#endif
explicit NetZone(kernel::routing::NetZoneImpl* impl);
~NetZone();
/** Storage represent the disk resources, usually associated to a given host */
class XBT_PUBLIC Storage : public simgrid::xbt::Extendable<Storage> {
-#ifndef DOXYGEN
- friend s4u::Engine;
- friend s4u::Io;
+ friend simgrid::s4u::Engine;
+ friend simgrid::s4u::Io;
friend simgrid::surf::StorageImpl;
-#endif /* DOXYGEN */
public:
explicit Storage(std::string name, surf::StorageImpl * pimpl);