1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 19 unchanged lines hidden (view full) --- 28 29#ifndef __MEM_RUBY_COMMON_DATABLOCK_HH__ 30#define __MEM_RUBY_COMMON_DATABLOCK_HH__ 31 32#include <iomanip> 33#include <iostream> 34 35#include "mem/ruby/common/Global.hh" |
36 37class DataBlock 38{ 39 public: 40 DataBlock() 41 { 42 alloc(); 43 } 44 |
45 DataBlock(const DataBlock &cp); |
46 47 ~DataBlock() 48 { 49 if (m_alloc) 50 delete [] m_data; 51 } 52 53 DataBlock& operator=(const DataBlock& obj); --- 20 unchanged lines hidden (view full) --- 74{ 75 if (m_alloc) { 76 delete [] m_data; 77 } 78 m_data = data; 79 m_alloc = false; 80} 81 |
82inline uint8 83DataBlock::getByte(int whichByte) const 84{ 85 return m_data[whichByte]; 86} 87 |
88inline void 89DataBlock::setByte(int whichByte, uint8 data) 90{ 91 m_data[whichByte] = data; 92} 93 94inline void |
95DataBlock::copyPartial(const DataBlock & dblk, int offset, int len) 96{ 97 setData(&dblk.m_data[offset], offset, len); 98} 99 100inline std::ostream& 101operator<<(std::ostream& out, const DataBlock& obj) 102{ --- 12 unchanged lines hidden --- |