-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2022. 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. */
#include <memory>
#include <vector>
-namespace simgrid {
-namespace mc {
+namespace simgrid::mc {
enum class RegionType { Heap = 1, Data = 2 };
public:
Region(RegionType type, void* start_addr, size_t size);
- ~Region() = default;
Region(Region const&) = delete;
Region& operator=(Region const&) = delete;
Region(Region&& that) = delete;
bool contain(RemotePtr<void> p) const { return p >= start() && p < end(); }
/** @brief Restore a region from a snapshot */
- void restore();
+ void restore() const;
/** @brief Read memory that was snapshotted in this region
*
void* read(void* target, const void* addr, std::size_t size) const;
};
-} // namespace mc
-} // namespace simgrid
+} // namespace simgrid::mc
int MC_snapshot_region_memcmp(const void* addr1, const simgrid::mc::Region* region1, const void* addr2,
const simgrid::mc::Region* region2, std::size_t size);