#define SURF_MAXMIN_HPP
#include "src/internal_config.h"
-#include "surf/datatypes.h"
+#include "surf/surf.h"
#include "xbt/asserts.h"
#include "xbt/misc.h"
#include <cmath>
-namespace simgrid {
-namespace surf {
-class Action;
-}
-}
-
/** @addtogroup SURF_lmm
* @details
* A linear maxmin solver to resolve inequations systems.
class HostModel;
class NetworkModel;
class StorageModel;
-class Resource;
class NetworkCm02Link;
class Action;
}
typedef simgrid::surf::HostModel surf_HostModel;
typedef simgrid::surf::NetworkModel surf_NetworkModel;
typedef simgrid::surf::StorageModel surf_StorageModel;
-typedef simgrid::surf::Resource surf_Resource;
typedef simgrid::surf::Action surf_Action;
#else
typedef struct surf_HostModel surf_HostModel;
typedef struct surf_NetworkModel surf_NetworkModel;
typedef struct surf_StorageModel surf_StorageModel;
-typedef struct surf_Resource surf_Resource;
typedef struct surf_Action surf_Action;
#endif
/* 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. */
+#include <simgrid/s4u/NetZone.hpp>
#include <simgrid/s4u/forward.hpp>
#include <string>
#include <unordered_map>
namespace simgrid {
namespace kernel {
-namespace routing {
-class NetZoneImpl;
-class NetPoint;
-}
class EngineImpl {
public:
namespace simgrid {
namespace vm {
-/***********
- * Classes *
- ***********/
-
-class XBT_PRIVATE VMModel;
-XBT_PUBLIC_CLASS VirtualMachineImpl; // Made visible to the Java plugin
-
/*************
* Callbacks *
*************/
* @brief SURF VM model interface class
* @details A model is an object which handle the interactions between its Resources and its Actions
*/
-class VMModel : public surf::HostModel {
+class XBT_PRIVATE VMModel : public surf::HostModel {
public:
VMModel();
void ignoreEmptyVmInPmLMM() override{};
#include "popping_private.hpp"
#include "simgrid/simix.h"
+#include "ActorImpl.hpp"
#include "src/kernel/activity/ExecImpl.hpp"
/** @brief Host datatype from SIMIX POV */
namespace simgrid {
namespace simix {
-class ProcessArg;
class Host {
public:
namespace simgrid {
namespace surf {
-class CpuModel;
-class Cpu;
-class CpuAction;
-
/** @ingroup SURF_cpu_interface
* @brief SURF cpu model interface class
* @details A model is an object which handle the interactions between its Resources and its Actions
missing_key_error::~missing_key_error() = default;
-class Config;
-
namespace {
const char* true_values[] = {