00001
00006 #ifndef KERNEL_MISC_HPP
00007 #define KERNEL_MISC_HPP
00008
00009 #include <vector>
00010
00011 namespace jafar {
00012 namespace kernel {
00013
00018 template <typename T>
00019 static inline void fastErase(std::vector<T> &v, typename std::vector<T>::iterator pos)
00020 {
00021 if (v.size() <= 1)
00022 v.resize(0);
00023 else
00024 {
00025 *pos = v.back();
00026 v.pop_back();
00027 }
00028 }
00029
00030 template <typename T>
00031 static inline void fastErase(std::vector<T> &v, typename std::vector<T>::size_type index)
00032 {
00033 if (v.size() <= 1)
00034 v.resize(0);
00035 else
00036 {
00037 v.at(index) = v.back();
00038 v.pop_back();
00039 }
00040 }
00041
00042 }}
00043
00044 #endif