Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
let's do standard C++ here
[simgrid.git] / src / surf / surf_interface.cpp
index 76d1f3e..1d3c71e 100644 (file)
@@ -528,20 +528,11 @@ void Model::updateActionsStateFull(double /*now*/, double /*delta*/)
 namespace simgrid {
 namespace surf {
 
-Resource::Resource(Model *model, const char *name)
-  : name_(xbt_strdup(name))
-  , model_(model)
+Resource::Resource(Model* model, const char* name, lmm_constraint_t constraint)
+    : name_(name), model_(model), constraint_(constraint)
 {}
 
-Resource::Resource(Model *model, const char *name, lmm_constraint_t constraint)
-  : name_(xbt_strdup(name))
-  , model_(model)
-  , constraint_(constraint)
-{}
-
-Resource::~Resource() {
-  xbt_free((void*)name_);
-}
+Resource::~Resource() = default;
 
 bool Resource::isOn() const {
   return isOn_;
@@ -565,11 +556,11 @@ Model *Resource::getModel() const {
 }
 
 const char *Resource::getName() const {
-  return name_;
+  return name_.c_str();
 }
 
 bool Resource::operator==(const Resource &other) const {
-  return strcmp(name_, other.name_);
+  return name_ == other.name_;
 }
 
 lmm_constraint_t Resource::getConstraint() const {
@@ -600,14 +591,13 @@ void surf_action_lmm_update_index_heap(void *action, int i) {
 namespace simgrid {
 namespace surf {
 
-void Action::initialize(simgrid::surf::Model *model, double cost, bool failed,
-                        lmm_variable_t var)
+Action::Action(simgrid::surf::Model* model, double cost, bool failed) : Action(model, cost, failed, nullptr)
+{
+}
+
+Action::Action(simgrid::surf::Model* model, double cost, bool failed, lmm_variable_t var)
+    : remains_(cost), start_(surf_get_clock()), cost_(cost), model_(model), variable_(var)
 {
-  remains_ = cost;
-  start_ = surf_get_clock();
-  cost_ = cost;
-  model_ = model;
-  variable_ = var;
   if (failed)
     stateSet_ = getModel()->getFailedActionSet();
   else
@@ -616,16 +606,6 @@ void Action::initialize(simgrid::surf::Model *model, double cost, bool failed,
   stateSet_->push_back(*this);
 }
 
-Action::Action(simgrid::surf::Model *model, double cost, bool failed)
-{
-  initialize(model, cost, failed);
-}
-
-Action::Action(simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var)
-{
-  initialize(model, cost, failed, var);
-}
-
 Action::~Action() {
   xbt_free(category_);
 }