Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enforce "Rule-of-Three/Five".
[simgrid.git] / include / simgrid / kernel / resource / Model.hpp
index 59a0cce..49918bb 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -28,6 +28,8 @@ public:
   };
 
   explicit Model(Model::UpdateAlgo algo);
+  Model(const Model&) = delete;
+  Model& operator=(const Model&) = delete;
 
   virtual ~Model();
 
@@ -71,6 +73,13 @@ public:
   virtual double next_occuring_event_lazy(double now);
   virtual double next_occuring_event_full(double now);
 
+private:
+  Action* extract_action(Action::StateSet* list);
+
+public:
+  Action* extract_done_action();
+  Action* extract_failed_action();
+
   /**
    * @brief Update action to the current time
    *
@@ -104,9 +113,9 @@ private:
 } // namespace kernel
 } // namespace simgrid
 
-/** \ingroup SURF_models
- *  \brief List of initialized models
+/** @ingroup SURF_models
+ *  @brief List of initialized models
  */
-XBT_PUBLIC_DATA std::vector<simgrid::kernel::resource::Model*>* all_existing_models;
+XBT_PUBLIC_DATA std::vector<simgrid::kernel::resource::Model*> all_existing_models;
 
 #endif