#ifndef ENVIRONMENT_CACHE_CACHE_ONELEVEL_ADDRESS_H
#define ENVIRONMENT_CACHE_CACHE_ONELEVEL_ADDRESS_H

#include <iostream>
#include <iomanip>

namespace environment {
namespace cache {
namespace cache_onelevel {

  class Address
  {
  public    : uint32_t        tag;
  public    : uint32_t        familly;
  public    : uint32_t        offset;
    
    friend std::ostream& operator<< (std::ostream& output, const Address &x)
    {
      output << std::hex
	     << std::setw(8) << std::setfill('0') << x.tag     << " "
	     << std::setw(8) << std::setfill('0') << x.familly << " "
	     << std::setw(8) << std::setfill('0') << x.offset 
	     << std::dec;
      
      return output;
    }
  };

};
};
};
#endif
