-/* Copyright (c) 2015-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2015-2021. 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. */
*/
class XBT_PUBLIC VirtualMachine : public s4u::Host {
vm::VirtualMachineImpl* const pimpl_vm_;
- virtual ~VirtualMachine();
+ ~VirtualMachine() override;
public:
explicit VirtualMachine(const std::string& name, Host* physical_host, int core_amount);
explicit VirtualMachine(const std::string& name, Host* physical_host, int core_amount, size_t ramsize);
+#ifndef DOXYGEN
// No copy/move
VirtualMachine(VirtualMachine const&) = delete;
VirtualMachine& operator=(VirtualMachine const&) = delete;
+#endif
enum class state {
CREATED, /**< created, but not yet started */
void suspend();
void resume();
void shutdown();
- void destroy();
+ void destroy() override;
- Host* get_pm();
- void set_pm(Host* pm);
- size_t get_ramsize();
- void set_ramsize(size_t ramsize);
- void set_bound(double bound);
+ Host* get_pm() const;
+ VirtualMachine* set_pm(Host* pm);
+ size_t get_ramsize() const;
+ VirtualMachine* set_ramsize(size_t ramsize);
+ VirtualMachine* set_bound(double bound);
- VirtualMachine::state get_state();
+ VirtualMachine::state get_state() const;
static xbt::signal<void(VirtualMachine const&)> on_start;
static xbt::signal<void(VirtualMachine const&)> on_started;
static xbt::signal<void(VirtualMachine const&)> on_shutdown;