Deleted Added
sdiff udiff text old ( 7039:bc0b6ea676b5 ) new ( 7055:4e24742201d7 )
full compact
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;

--- 20 unchanged lines hidden (view full) ---

29// NetDest specifies the network destination of a NetworkMessage
30// This is backward compatible with the Set class that was previously
31// used to specify network destinations.
32// NetDest supports both node networks and component networks
33
34#ifndef __MEM_RUBY_COMMON_NETDEST_HH__
35#define __MEM_RUBY_COMMON_NETDEST_HH__
36
37#include "mem/ruby/common/Global.hh"
38#include "mem/gems_common/Vector.hh"
39#include "mem/ruby/system/NodeID.hh"
40#include "mem/ruby/system/MachineID.hh"
41#include "mem/ruby/common/Set.hh"
42#include "mem/protocol/MachineType.hh"
43
44class NetDest
45{
46 public:
47 // Constructors
48 // creates and empty set
49 NetDest();
50 explicit NetDest(int bit_size);

--- 42 unchanged lines hidden (view full) ---

93 MachineID smallestElement(MachineType machine) const;
94
95 void setSize();
96 int getSize() const { return m_bits.size(); }
97
98 // get element for a index
99 NodeID elementAt(MachineID index);
100
101 void print(ostream& out) const;
102
103 private:
104 // returns a value >= MachineType_base_level("this machine")
105 // and < MachineType_base_level("next highest machine")
106 int
107 vecIndex(MachineID m) const
108 {
109 int vec_index = MachineType_base_level(m.type);

--- 5 unchanged lines hidden (view full) ---

115 bitIndex(NodeID index) const
116 {
117 return index;
118 }
119
120 Vector <Set> m_bits; // a Vector of bit vectors - i.e. Sets
121};
122
123inline ostream&
124operator<<(ostream& out, const NetDest& obj)
125{
126 obj.print(out);
127 out << flush;
128 return out;
129}
130
131#endif // __MEM_RUBY_COMMON_NETDEST_HH__
132