X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/56a800c7de10c3e3a1a854434e6bfdeb01696dba..3297da9f47ce18371941b2b48a2f4018b4793ced:/include/xbt/signal.hpp diff --git a/include/xbt/signal.hpp b/include/xbt/signal.hpp index 08fbff611a..4c1d46d22d 100644 --- a/include/xbt/signal.hpp +++ b/include/xbt/signal.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2015. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2014-2018. 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. */ @@ -7,6 +7,7 @@ #define SIMGRID_XBT_SIGNAL_HPP #include +#include #include namespace simgrid { @@ -26,21 +27,21 @@ namespace xbt { typedef std::function callback_type; std::vector handlers_; public: - template XBT_ALWAYS_INLINE + template void connect(U slot) { handlers_.push_back(std::move(slot)); } - XBT_ALWAYS_INLINE R operator()(P... args) const { - for (auto& handler : handlers_) + for (auto const& handler : handlers_) handler(args...); } - void disconnect_all_slots() - { - handlers_.clear(); - } + void disconnect_slots() { handlers_.clear(); } + int get_slot_count() { return handlers_.size(); } + // deprecated + XBT_ATTRIB_DEPRECATED_v323("Please use xbt::disconnect_slots)") void disconnectSlots() { disconnect_slots(); } + XBT_ATTRIB_DEPRECATED_v323("Please use xbt::get_slot_count)") int getSlotsAmount() { return get_slot_count(); } }; }