types: need typename keyword to get the type.

This commit is contained in:
Nathan Binkert 2009-06-05 11:40:02 -07:00
parent 6faf377b53
commit a01437ab03

View file

@ -1095,9 +1095,9 @@ void
IGbE::DescCache<T>::reset() IGbE::DescCache<T>::reset()
{ {
DPRINTF(EthernetDesc, "Reseting descriptor cache\n"); DPRINTF(EthernetDesc, "Reseting descriptor cache\n");
for (CacheType::size_type x = 0; x < usedCache.size(); x++) for (typename CacheType::size_type x = 0; x < usedCache.size(); x++)
delete usedCache[x]; delete usedCache[x];
for (CacheType::size_type x = 0; x < unusedCache.size(); x++) for (typename CacheType::size_type x = 0; x < unusedCache.size(); x++)
delete unusedCache[x]; delete unusedCache[x];
usedCache.clear(); usedCache.clear();
@ -1117,16 +1117,16 @@ IGbE::DescCache<T>::serialize(std::ostream &os)
SERIALIZE_SCALAR(moreToWb); SERIALIZE_SCALAR(moreToWb);
SERIALIZE_SCALAR(wbAlignment); SERIALIZE_SCALAR(wbAlignment);
CacheType::size_type usedCacheSize = usedCache.size(); typename CacheType::size_type usedCacheSize = usedCache.size();
SERIALIZE_SCALAR(usedCacheSize); SERIALIZE_SCALAR(usedCacheSize);
for (CacheType::size_type x = 0; x < usedCacheSize; x++) { for (typename CacheType::size_type x = 0; x < usedCacheSize; x++) {
arrayParamOut(os, csprintf("usedCache_%d", x), arrayParamOut(os, csprintf("usedCache_%d", x),
(uint8_t*)usedCache[x],sizeof(T)); (uint8_t*)usedCache[x],sizeof(T));
} }
CacheType::size_type unusedCacheSize = unusedCache.size(); typename CacheType::size_type unusedCacheSize = unusedCache.size();
SERIALIZE_SCALAR(unusedCacheSize); SERIALIZE_SCALAR(unusedCacheSize);
for(CacheType::size_type x = 0; x < unusedCacheSize; x++) { for (typename CacheType::size_type x = 0; x < unusedCacheSize; x++) {
arrayParamOut(os, csprintf("unusedCache_%d", x), arrayParamOut(os, csprintf("unusedCache_%d", x),
(uint8_t*)unusedCache[x],sizeof(T)); (uint8_t*)unusedCache[x],sizeof(T));
} }
@ -1152,19 +1152,19 @@ IGbE::DescCache<T>::unserialize(Checkpoint *cp, const std::string &section)
UNSERIALIZE_SCALAR(moreToWb); UNSERIALIZE_SCALAR(moreToWb);
UNSERIALIZE_SCALAR(wbAlignment); UNSERIALIZE_SCALAR(wbAlignment);
CacheType::size_type usedCacheSize; typename CacheType::size_type usedCacheSize;
UNSERIALIZE_SCALAR(usedCacheSize); UNSERIALIZE_SCALAR(usedCacheSize);
T *temp; T *temp;
for(CacheType::size_type x = 0; x < usedCacheSize; x++) { for (typename CacheType::size_type x = 0; x < usedCacheSize; x++) {
temp = new T; temp = new T;
arrayParamIn(cp, section, csprintf("usedCache_%d", x), arrayParamIn(cp, section, csprintf("usedCache_%d", x),
(uint8_t*)temp,sizeof(T)); (uint8_t*)temp,sizeof(T));
usedCache.push_back(temp); usedCache.push_back(temp);
} }
CacheType::size_type unusedCacheSize; typename CacheType::size_type unusedCacheSize;
UNSERIALIZE_SCALAR(unusedCacheSize); UNSERIALIZE_SCALAR(unusedCacheSize);
for(CacheType::size_type x = 0; x < unusedCacheSize; x++) { for (typename CacheType::size_type x = 0; x < unusedCacheSize; x++) {
temp = new T; temp = new T;
arrayParamIn(cp, section, csprintf("unusedCache_%d", x), arrayParamIn(cp, section, csprintf("unusedCache_%d", x),
(uint8_t*)temp,sizeof(T)); (uint8_t*)temp,sizeof(T));