X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c46aba70aa4ccf22cc19fac31d451c7158e922dd..2f4b313c80827568ce888a6bc1575739d002a6c3:/src/surf/network_ib.hpp diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index b8357fb559..df41a8873a 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2015. The SimGrid Team. +/* Copyright (c) 2014-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,9 +7,11 @@ #ifndef SURF_NETWORK_IB_HPP_ #define SURF_NETWORK_IB_HPP_ -#include +#include "src/surf/network_smpi.hpp" +#include "xbt/base.h" -#include "network_smpi.hpp" +#include +#include namespace simgrid { namespace surf { @@ -22,8 +24,8 @@ namespace simgrid { IBNode* destination; NetworkAction *action; double init_rate; - ActiveComm() : destination(NULL),action(NULL),init_rate(-1){}; - ~ActiveComm(){}; + ActiveComm() : destination(nullptr),action(nullptr),init_rate(-1){}; + virtual ~ActiveComm() = default; }; class IBNode{ @@ -35,22 +37,22 @@ namespace simgrid { std::map ActiveCommsDown; //number of comms the node is receiving int nbActiveCommsDown; - IBNode(int id) : id(id),nbActiveCommsDown(0){}; - ~IBNode(){}; + explicit IBNode(int id) : id(id),nbActiveCommsDown(0){}; + virtual ~IBNode() = default; }; class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { private: - void updateIBfactors_rec(IBNode *root, bool* updatedlist); + void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); void computeIBfactors(IBNode *root); public: NetworkIBModel(); - NetworkIBModel(const char *name); - ~NetworkIBModel(); + explicit NetworkIBModel(const char *name); + ~NetworkIBModel() override; void updateIBfactors(NetworkAction *action, IBNode *from, IBNode * to, int remove); - xbt_dict_t active_nodes; - std::map > active_comms; + std::unordered_map active_nodes; + std::unordered_map> active_comms; double Bs; double Be;