#include <boost/function.hpp>
#include <boost/intrusive/list.hpp>
+
+#include <xbt/signal.hpp>
+
#include "surf/trace_mgr.h"
#include "xbt/lib.h"
#include "surf/surf_routing.h"
#include "src/surf/surf_private.h"
#include "src/internal_config.h"
-#ifdef LIBSIGC
-#include <sigc++/sigc++.h>
-namespace simgrid {
-namespace surf {
- // Wraps sigc++ signals with the interface of boost::signals2:
- template<class T> class signal;
- template<class R, class... P>
- class signal<R(P...)> {
- private:
- sigc::signal<R, P...> sig_;
- public:
- template<class T> XBT_ALWAYS_INLINE
- void connect(T&& slot)
- {
- sig_.connect(std::forward<T>(slot));
- }
- template<class Res, class... Args> XBT_ALWAYS_INLINE
- void connect(Res(*slot)(Args...))
- {
- sig_.connect(sigc::ptr_fun(slot));
- }
- template<class... Args>
- R operator()(Args&&... args) const
- {
- return sig_.emit(std::forward<Args>(args)...);
- }
- };
-}
-}
-#else
-#include <boost/signals2.hpp>
-namespace simgrid {
-namespace surf {
- template<class T>
- using signal = ::boost::signals2::signal<T>;
-}
-}
-#endif
-
extern XBT_PRIVATE tmgr_history_t history;
#define NO_MAX_DURATION -1.0
namespace simgrid {
namespace surf {
-extern XBT_PRIVATE simgrid::surf::signal<void(void)> surfExitCallbacks;
+extern XBT_PRIVATE simgrid::xbt::signal<void(void)> surfExitCallbacks;
}
}
*/
XBT_PUBLIC_CLASS Resource {
public:
- Resource();
-
/**
* @brief Constructor of non-LMM Resources
*
/** @brief Get the lmm constraint associated to this Resource if it is part of a LMM component */
lmm_constraint_t getConstraint();
protected:
- lmm_constraint_t p_constraint;
+ lmm_constraint_t p_constraint = nullptr;
};
}