diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-04-09 15:03:35 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-04-09 15:03:35 +0000 |
commit | 3cbc97486f02fdd25a532af96146aa956e51e26d (patch) | |
tree | 49dadb69954c3c3ef6ce87a9320b8c5c7bb714b8 /cpp/include/IceUtil/Algorithm.h | |
parent | adding Strategy.ice (diff) | |
download | ice-3cbc97486f02fdd25a532af96146aa956e51e26d.tar.bz2 ice-3cbc97486f02fdd25a532af96146aa956e51e26d.tar.xz ice-3cbc97486f02fdd25a532af96146aa956e51e26d.zip |
Solaris/Sun C++ 5.4 port
Diffstat (limited to 'cpp/include/IceUtil/Algorithm.h')
-rw-r--r-- | cpp/include/IceUtil/Algorithm.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/Algorithm.h b/cpp/include/IceUtil/Algorithm.h new file mode 100644 index 00000000000..167209c5a30 --- /dev/null +++ b/cpp/include/IceUtil/Algorithm.h @@ -0,0 +1,38 @@ +// ********************************************************************** +// +// Copyright (c) 2003 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +#ifndef ICE_UTIL_ALGORITHM_H +#define ICE_UTIL_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; + 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 |