LibUtil.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __LIBUTIL_H__
210447Snilay@cs.wisc.edu#define __LIBUTIL_H__
310447Snilay@cs.wisc.edu
410447Snilay@cs.wisc.edu#include <vector>
510447Snilay@cs.wisc.edu
610447Snilay@cs.wisc.edu#include "String.h"
710447Snilay@cs.wisc.edu#include "Exception.h"
810447Snilay@cs.wisc.edu#include "Assert.h"
910447Snilay@cs.wisc.edu#include "Map.h"
1010447Snilay@cs.wisc.edu#include "Log.h"
1110447Snilay@cs.wisc.edu#include "Config.h"
1210447Snilay@cs.wisc.edu#include "MathUtil.h"
1310447Snilay@cs.wisc.edu
1410447Snilay@cs.wisc.edunamespace LibUtil
1510447Snilay@cs.wisc.edu{
1610447Snilay@cs.wisc.edu    template<class T> void clearPtrVector(std::vector<T*>* vec_)
1710447Snilay@cs.wisc.edu    {
1810447Snilay@cs.wisc.edu        for(typename std::vector<T*>::iterator it = vec_->begin(); it != vec_->end(); ++it)
1910447Snilay@cs.wisc.edu        {
2010447Snilay@cs.wisc.edu            T* temp_T = (*it);
2110447Snilay@cs.wisc.edu            delete temp_T;
2210447Snilay@cs.wisc.edu        }
2310447Snilay@cs.wisc.edu        vec_->clear();
2410447Snilay@cs.wisc.edu        return;
2510447Snilay@cs.wisc.edu    }
2610447Snilay@cs.wisc.edu
2710447Snilay@cs.wisc.edu    template<class T> void deletePtrVector(std::vector<T*>* vec_)
2810447Snilay@cs.wisc.edu    {
2910447Snilay@cs.wisc.edu        clearPtrVector<T>(vec_);
3010447Snilay@cs.wisc.edu        delete vec_;
3110447Snilay@cs.wisc.edu        return;
3210447Snilay@cs.wisc.edu    }
3310447Snilay@cs.wisc.edu
3410447Snilay@cs.wisc.edu} // namespace LibUtil
3510447Snilay@cs.wisc.edu
3610447Snilay@cs.wisc.edu#endif // __LIBUTIL_H__
3710447Snilay@cs.wisc.edu
38