X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9dbeb2372ad9a123d0558132ebb6e003e10aa641..caf6aba21918125649ff5a84fafb22e225b2d580:/src/mc/AddressSpace.hpp diff --git a/src/mc/AddressSpace.hpp b/src/mc/AddressSpace.hpp index 4481e45fa2..5b55a3106e 100644 --- a/src/mc/AddressSpace.hpp +++ b/src/mc/AddressSpace.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2014. The SimGrid Team. +/* Copyright (c) 2008-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,14 +7,13 @@ #ifndef SIMGRID_MC_ADDRESS_SPACE_H #define SIMGRID_MC_ADDRESS_SPACE_H +#include #include #include #include -#include - -#include "mc_forward.h" +#include "src/mc/mc_forward.hpp" namespace simgrid { namespace mc { @@ -29,7 +28,7 @@ template class remote_ptr { public: remote_ptr() : address_(0) {} remote_ptr(std::uint64_t address) : address_(address) {} - remote_ptr(T* address) : address_((std::uint64_t)address) {} + remote_ptr(T* address) : address_((std::uintptr_t)address) {} std::uint64_t address() const { return address_; } operator bool() const { @@ -128,6 +127,8 @@ const int ProcessIndexDisabled = -2; const int ProcessIndexAny = 0; class AddressSpace { +private: + Process* process_; public: enum ReadMode { Normal, @@ -136,7 +137,10 @@ public: */ Lazy }; + AddressSpace(Process* process) : process_(process) {} virtual ~AddressSpace(); + + simgrid::mc::Process* process() const { return process_; } virtual const void* read_bytes(void* buffer, std::size_t size, remote_ptr address, int process_index = ProcessIndexAny, ReadMode mode = Normal) const = 0;