A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use signals for platform callbacks
[simgrid.git]
/
include
/
xbt
/
signal.hpp
diff --git
a/include/xbt/signal.hpp
b/include/xbt/signal.hpp
index
2068546
..
de3c031
100644
(file)
--- a/
include/xbt/signal.hpp
+++ b/
include/xbt/signal.hpp
@@
-8,9
+8,15
@@
#ifdef SIMGRID_HAVE_LIBSIG
#include <sigc++/sigc++.h>
#ifdef SIMGRID_HAVE_LIBSIG
#include <sigc++/sigc++.h>
+#else
+#include <boost/signals2.hpp>
+#endif
namespace simgrid {
namespace xbt {
namespace simgrid {
namespace xbt {
+
+#ifdef SIMGRID_HAVE_LIBSIG
+
// Wraps sigc++ signals with the interface of boost::signals2:
template<class T> class signal;
template<class R, class... P>
// Wraps sigc++ signals with the interface of boost::signals2:
template<class T> class signal;
template<class R, class... P>
@@
-33,20
+39,20
@@
namespace xbt {
{
return sig_.emit(std::forward<Args>(args)...);
}
{
return sig_.emit(std::forward<Args>(args)...);
}
+ void disconnect_all_slots()
+ {
+ sig_.clear();
+ }
};
};
-}
-}
#else
#else
-#include <boost/signals2.hpp>
-namespace simgrid {
-namespace xbt {
template<class T>
using signal = ::boost::signals2::signal<T>;
template<class T>
using signal = ::boost::signals2::signal<T>;
-}
-}
#endif
#endif
-#endif
+}
+}
+
+#endif
\ No newline at end of file