Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't use pass-by-value for large parameters.
[simgrid.git] / src / surf / StorageImpl.hpp
index 3f4461e..e3c508a 100644 (file)
@@ -51,6 +51,8 @@ simgrid::xbt::signal<void(StorageAction*, kernel::resource::Action::State, kerne
 class StorageModel : public kernel::resource::Model {
 public:
   StorageModel();
+  StorageModel(const StorageModel&) = delete;
+  StorageModel& operator=(const StorageModel&) = delete;
   ~StorageModel();
 
   virtual StorageImpl* createStorage(std::string id, std::string type_id, std::string content_name,
@@ -67,8 +69,10 @@ public:
 class StorageImpl : public kernel::resource::Resource, public PropertyHolder {
 public:
   /** @brief Storage constructor */
-  StorageImpl(kernel::resource::Model* model, std::string name, kernel::lmm::System* maxmin_system, double bread,
+  StorageImpl(kernel::resource::Model* model, const std::string& name, kernel::lmm::System* maxmin_system, double bread,
               double bwrite, std::string type_id, std::string content_name, sg_size_t size, std::string attach);
+  StorageImpl(const StorageImpl&) = delete;
+  StorageImpl& operator=(const StorageImpl&) = delete;
 
   ~StorageImpl() override;