X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/28f758f3ac685281f048a22a99405f48163be169..4ba85316ab090c9e1fb26e988dc80dd5c4535bd8:/src/s4u/s4u_netzone.cpp diff --git a/src/s4u/s4u_netzone.cpp b/src/s4u/s4u_netzone.cpp index 7a6f5f2f1c..e4f6989728 100644 --- a/src/s4u/s4u_netzone.cpp +++ b/src/s4u/s4u_netzone.cpp @@ -59,10 +59,15 @@ void NetZone::setProperty(const char* key, const char* value) }); } +/** @brief Returns the list of direct children (no grand-children) + * + * This function returns the internal copy of the children, not a copy. Don't mess with it! + */ std::vector* NetZone::getChildren() { return children_; } + const char* NetZone::getCname() const { return name_.c_str(); @@ -81,6 +86,17 @@ void NetZone::getHosts(std::vector* whereto) } } +int NetZone::getHostCount() +{ + int count = 0; + for (auto const& card : vertices_) { + s4u::Host* host = simgrid::s4u::Host::by_name_or_null(card->getName()); + if (host != nullptr) + count++; + } + return count; +} + int NetZone::addComponent(kernel::routing::NetPoint* elm) { vertices_.push_back(elm);