diff --git a/sprout/algorithm/fit/stable_partition_copy.hpp b/sprout/algorithm/fit/stable_partition_copy.hpp index 268ec802..23f168b4 100644 --- a/sprout/algorithm/fit/stable_partition_copy.hpp +++ b/sprout/algorithm/fit/stable_partition_copy.hpp @@ -9,15 +9,14 @@ #include #include #include -#include namespace sprout { namespace fit { namespace detail { - template + template inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm::type stable_partition_copy_impl( - InputIterator first, InputIterator last, Result const& result, Predicate pred, + BidirectionalIterator first, BidirectionalIterator last, Result const& result, Predicate pred, typename sprout::container_traits::difference_type offset ) { @@ -31,10 +30,9 @@ namespace sprout { // // stable_partition_copy // - template + template inline SPROUT_CONSTEXPR typename sprout::fit::result_of::algorithm::type - stable_partition_copy(InputIterator first, InputIterator last, Result const& result, Predicate pred) { - static_assert(sprout::is_forward_iterator::value, "Sorry, not implemented."); + stable_partition_copy(BidirectionalIterator first, BidirectionalIterator last, Result const& result, Predicate pred) { return sprout::fit::detail::stable_partition_copy_impl(first, last, result, pred, sprout::internal_begin_offset(result)); } } // namespace fit diff --git a/sprout/config/compiler/borland.hpp b/sprout/config/compiler/borland.hpp index ceb7e163..a54ad28a 100644 --- a/sprout/config/compiler/borland.hpp +++ b/sprout/config/compiler/borland.hpp @@ -4,7 +4,9 @@ #define SPROUT_NO_CXX11_CONSTEXPR #define SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS #define SPROUT_NO_CXX11_DELETED_FUNCTIONS -#define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#if !defined(BOOST_CODEGEAR_0X_SUPPORT) || (__BORLANDC__ < 0x610) +# define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif #define SPROUT_NO_CXX11_NOEXCEPT #define SPROUT_NO_CXX11_TEMPLATE_ALIASES #define SPROUT_NO_CXX11_USER_DEFINED_LITERALS diff --git a/sprout/config/compiler/visualc.hpp b/sprout/config/compiler/visualc.hpp index 7a31246c..61e67510 100644 --- a/sprout/config/compiler/visualc.hpp +++ b/sprout/config/compiler/visualc.hpp @@ -4,7 +4,8 @@ #define SPROUT_NO_CXX11_CONSTEXPR #define SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS #define SPROUT_NO_CXX11_DELETED_FUNCTIONS -#define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#if _MSC_FULL_VER < 170051025 || !defined(SPROUT_MSVC_ENABLE_2012_NOV_CTP) +# define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define SPROUT_NO_CXX11_NOEXCEPT #define SPROUT_NO_CXX11_TEMPLATE_ALIASES #define SPROUT_NO_CXX11_USER_DEFINED_LITERALS