44 #ifndef GNSSTK_STL_HELPERS_HPP
45 #define GNSSTK_STL_HELPERS_HPP
58 template<
class For> For
max(
const std::list<For>& lst)
60 return *max_element(lst.begin(), lst.end());
64 template<
class For> For
min(
const std::list<For>& lst)
66 return *min_element(lst.begin(), lst.end());
94 typename std::list<bt>::const_iterator li;
97 for(; li!=lst.end(); li++)
108 for(li=lst.begin(); li!=lst.end(); li++)
114 s.
sigma = std::sqrt( (
double)(sumsq/(s.
n-1)) );
123 template <
class T>
int vectorindex(
const std::vector<T>& vec,
const T& value)
125 typename std::vector<T>::const_iterator it;
126 it = std::find(vec.begin(), vec.end(), value);
127 if(it == vec.end())
return -1;
128 return int(it - vec.begin());
137 const std::vector<T>& v1,
const std::vector<T>& v2)
139 std::vector<T> vinter;
140 typename std::vector<T>::const_iterator it;
141 for(it=v1.begin(); it!=v1.end(); ++it) {
142 if(std::find(v2.begin(), v2.end(), *it) != v2.end())
143 vinter.push_back(*it);
155 const std::vector<T>& v1,
const std::vector<T>& v2)
157 std::vector<T> vinter;
158 typename std::vector<T>::const_iterator it;
159 for(it=v1.begin(); it!=v1.end(); ++it) {
160 if(std::find(v2.begin(), v2.end(), *it) == v2.end())
161 vinter.push_back(*it);
163 for(it=v2.begin(); it!=v2.end(); ++it) {
164 if(std::find(v1.begin(), v1.end(), *it) == v1.end())
165 vinter.push_back(*it);