X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/89df17fd2f872e224e49bbdeeba43ca76a5b7d71..50d1b7d92ae3aa2679bc86780cf3c0ea12455365:/src/mc/AddressSpace.hpp diff --git a/src/mc/AddressSpace.hpp b/src/mc/AddressSpace.hpp index 1da65e81cd..6aed5ea8a2 100644 --- a/src/mc/AddressSpace.hpp +++ b/src/mc/AddressSpace.hpp @@ -1,20 +1,19 @@ -/* 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 * under the terms of the license (GNU LGPL) which comes with this package. */ -#ifndef MC_ADDRESS_SPACE_H -#define MC_ADDRESS_SPACE_H +#ifndef SIMGRID_MC_ADDRESS_SPACE_H +#define SIMGRID_MC_ADDRESS_SPACE_H +#include #include #include #include -#include - -#include "mc_forward.h" +#include "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;