2016-12-29 18:06:16 +00:00
|
|
|
// tasmet_utils.h
|
2016-11-11 22:22:44 +00:00
|
|
|
//
|
|
|
|
// Author: J.A. de Jong
|
|
|
|
//
|
|
|
|
// Description:
|
|
|
|
// Some generic utils.
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
2016-12-29 18:06:16 +00:00
|
|
|
#ifndef TASMET_UTILS_H
|
|
|
|
#define TASMET_UTILS_H
|
2016-11-11 22:22:44 +00:00
|
|
|
|
|
|
|
// Purge a vector of components
|
|
|
|
template<typename T>
|
|
|
|
void purge(std::vector<T>& vec){
|
|
|
|
for (T& it: vec){
|
|
|
|
delete it;
|
|
|
|
it=nullptr;
|
|
|
|
}
|
|
|
|
vec.clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Purge a vector of components
|
|
|
|
template<typename Key,typename T>
|
|
|
|
void purge(std::map<Key,T>& map){
|
|
|
|
for (auto& it: map){
|
|
|
|
delete it.second;
|
|
|
|
it.second=nullptr;
|
|
|
|
}
|
|
|
|
map.clear();
|
|
|
|
}
|
|
|
|
template<typename T>
|
|
|
|
void makeNormal(T& c) {
|
|
|
|
for(auto& val: c)
|
|
|
|
if(!std::isnormal(val))
|
|
|
|
val=0;
|
|
|
|
}
|
|
|
|
|
2016-12-29 18:06:16 +00:00
|
|
|
#endif // TASMET_UTILS_H
|
2016-11-11 22:22:44 +00:00
|
|
|
//////////////////////////////////////////////////////////////////////
|