#define XERR "memoryaccess"
#include "memoryaccess.ih"

    // by create.cc refresh.cc

// private
MemoryAccess::MemoryAccess(int id, size_t access, size_t nBlocks, 
                             size_t blockSize)
:
    d_idx(s_idx++),
    d_blockSize(blockSize),
    d_id(id),
    d_accessMode(access),
    d_blockBegin(0),
    d_blockEnd(0),
    d_writtenUntil(0),
    d_maxEnd(nBlocks * blockSize),
    d_data(0),
    d_nBlocks(nBlocks)
{
    s_loaded.push_back(-1);

                    // initialize the data-table. d_block[0] already has been
                    // initialized by MemoryID()'s constructor
    fill(d_block, d_block + d_nBlocks, -1);

}
