stabilize build system: depends, installer, boost/bdb fixes, cross targets groundwork
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
//
|
||||
//=======================================================================
|
||||
// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
|
||||
// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See
|
||||
// accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//=======================================================================
|
||||
//
|
||||
#if __KCC
|
||||
namespace std {
|
||||
|
||||
template <class RandomAccessIterator, class Distance>
|
||||
bool __is_heap(RandomAccessIterator first, RandomAccessIterator last,
|
||||
Distance*)
|
||||
{
|
||||
const Distance n = last - first;
|
||||
|
||||
Distance parent = 0;
|
||||
for (Distance child = 1; child < n; ++child) {
|
||||
if (first[parent] < first[child])
|
||||
return false;
|
||||
if ((child & 1) == 0)
|
||||
++parent;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class RandomAccessIterator>
|
||||
inline bool is_heap(RandomAccessIterator first, RandomAccessIterator last)
|
||||
{
|
||||
return __is_heap(first, last, distance_type(first));
|
||||
}
|
||||
|
||||
|
||||
template <class RandomAccessIterator, class Distance, class StrictWeakOrdering>
|
||||
bool __is_heap(RandomAccessIterator first, RandomAccessIterator last,
|
||||
StrictWeakOrdering comp,
|
||||
Distance*)
|
||||
{
|
||||
const Distance n = last - first;
|
||||
|
||||
Distance parent = 0;
|
||||
for (Distance child = 1; child < n; ++child) {
|
||||
if (comp(first[parent], first[child]))
|
||||
return false;
|
||||
if ((child & 1) == 0)
|
||||
++parent;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class RandomAccessIterator, class StrictWeakOrdering>
|
||||
inline bool is_heap(RandomAccessIterator first, RandomAccessIterator last,
|
||||
StrictWeakOrdering comp)
|
||||
{
|
||||
return __is_heap(first, last, comp, distance_type(first));
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user