diff options
Diffstat (limited to 'cppe/include/IceE/Algorithm.h')
-rw-r--r-- | cppe/include/IceE/Algorithm.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/cppe/include/IceE/Algorithm.h b/cppe/include/IceE/Algorithm.h new file mode 100644 index 00000000000..f81af50faeb --- /dev/null +++ b/cppe/include/IceE/Algorithm.h @@ -0,0 +1,33 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICEE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICEE_ALGORITHM_H +#define ICEE_ALGORITHM_H + +#include <algorithm> + + +// Work-around for a limitation in the standard library provided +// with the Sun C++ 5.x compilers +#if defined(__SUNPRO_CC) && defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) + +template<class InputIterator, class Predicate> +inline typename InputIterator::difference_type +ice_count_if(InputIterator first, InputIterator last, Predicate pred) +{ + InputIterator::difference_type result = 0; + std::count_if(first, last, pred, result); + return result; +} + +#else +#define ice_count_if(x,y,z) std::count_if(x,y,z) +#endif + +#endif |