mirror of https://github.com/PrimeDecomp/prime.git
Remove inlines from things in binary_find
This commit is contained in:
parent
572777596d
commit
a92bb98810
|
@ -115,7 +115,7 @@ It lower_bound(It start, It end, const T& value, Cmp cmp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename It, typename T, typename Cmp >
|
template < typename It, typename T, typename Cmp >
|
||||||
inline It binary_find(It start, It end, const T& value, Cmp cmp) {
|
It binary_find(It start, It end, const T& value, Cmp cmp) {
|
||||||
It lower = lower_bound(start, end, value, cmp);
|
It lower = lower_bound(start, end, value, cmp);
|
||||||
bool found = false;
|
bool found = false;
|
||||||
if (lower != end && !cmp(value, *lower)) {
|
if (lower != end && !cmp(value, *lower)) {
|
||||||
|
@ -158,13 +158,13 @@ inline pair_sorter_finder< T::value_type, less< select1st< typename T::value_typ
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename K, typename V, typename Cmp >
|
template < typename K, typename V, typename Cmp >
|
||||||
inline bool pair_sorter_finder< pair< K, V >, Cmp >::operator()(const K& a,
|
bool pair_sorter_finder< pair< K, V >, Cmp >::operator()(const K& a,
|
||||||
const pair< K, V >& b) const {
|
const pair< K, V >& b) const {
|
||||||
return cmp(a, b.first);
|
return cmp(a, b.first);
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename K, typename V, typename Cmp >
|
template < typename K, typename V, typename Cmp >
|
||||||
inline bool pair_sorter_finder< pair< K, V >, Cmp >::operator()(const pair< K, V >& a,
|
bool pair_sorter_finder< pair< K, V >, Cmp >::operator()(const pair< K, V >& a,
|
||||||
const K& b) const {
|
const K& b) const {
|
||||||
return cmp(a.first, b);
|
return cmp(a.first, b);
|
||||||
}
|
}
|
||||||
|
@ -175,7 +175,7 @@ find_by_key(const T& container,
|
||||||
const typename select1st< typename T::value_type >::value_type& key);
|
const typename select1st< typename T::value_type >::value_type& key);
|
||||||
|
|
||||||
template < typename T >
|
template < typename T >
|
||||||
typename T::const_iterator inline find_by_key(
|
typename T::const_iterator find_by_key(
|
||||||
const T& container, const typename select1st< typename T::value_type >::value_type& key) {
|
const T& container, const typename select1st< typename T::value_type >::value_type& key) {
|
||||||
return binary_find(container.begin(), container.end(), key,
|
return binary_find(container.begin(), container.end(), key,
|
||||||
default_pair_sorter_finder<T>());
|
default_pair_sorter_finder<T>());
|
||||||
|
|
|
@ -10,9 +10,12 @@ struct identity {
|
||||||
|
|
||||||
template < typename T >
|
template < typename T >
|
||||||
struct less {
|
struct less {
|
||||||
bool operator()(const T& a, const T& b) const { return a < b; }
|
bool operator()(const T& a, const T& b) const; // { return a < b; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template < typename T >
|
||||||
|
bool less<T>::operator()(const T& a, const T& b) const { return a < b; }
|
||||||
|
|
||||||
} // namespace rstl
|
} // namespace rstl
|
||||||
|
|
||||||
#endif // _RSTL_FUNCTIONAL
|
#endif // _RSTL_FUNCTIONAL
|
||||||
|
|
|
@ -21,7 +21,7 @@ typename It::difference_type __distance(It first, It last, forward_iterator_tag)
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename It >
|
template < typename It >
|
||||||
inline typename It::difference_type distance(It first, It last) {
|
typename It::difference_type distance(It first, It last) {
|
||||||
return __distance(first, last, typename It::iterator_category());
|
return __distance(first, last, typename It::iterator_category());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ void __advance(It& it, S count, forward_iterator_tag) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename It, typename S >
|
template < typename It, typename S >
|
||||||
inline void advance(It& it, S count) {
|
void advance(It& it, S count) {
|
||||||
return __advance(it, count, typename It::iterator_category());
|
return __advance(it, count, typename It::iterator_category());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,12 +128,12 @@ struct const_counting_iterator {
|
||||||
};
|
};
|
||||||
|
|
||||||
template < typename It >
|
template < typename It >
|
||||||
inline typename It::difference_type __distance(It first, It last, random_access_iterator_tag) {
|
typename It::difference_type __distance(It first, It last, random_access_iterator_tag) {
|
||||||
return last - first;
|
return last - first;
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename It, typename S >
|
template < typename It, typename S >
|
||||||
inline void __advance(It& it, S count, random_access_iterator_tag) {
|
void __advance(It& it, S count, random_access_iterator_tag) {
|
||||||
it += count;
|
it += count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue