summaryrefslogtreecommitdiff
path: root/TAO/tao/Object_Reference_Traits_T.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Object_Reference_Traits_T.h')
-rw-r--r--TAO/tao/Object_Reference_Traits_T.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/TAO/tao/Object_Reference_Traits_T.h b/TAO/tao/Object_Reference_Traits_T.h
index 004c191fe28..1ca1c412a67 100644
--- a/TAO/tao/Object_Reference_Traits_T.h
+++ b/TAO/tao/Object_Reference_Traits_T.h
@@ -42,11 +42,21 @@ struct object_reference_traits_decorator
std::generate(begin, end, &derived::default_initializer);
}
+# ifndef ACE_LACKS_MEMBER_TEMPLATES
+ // Allow MSVC++ >= 8 checked iterators to be used.
+ template <typename iter>
+ inline static void copy_range(
+ object_type ** begin, object_type ** end, iter dst)
+ {
+ std::transform(begin, end, dst, &derived::duplicate);
+ }
+#else
inline static void copy_range(
object_type ** begin, object_type ** end, object_type ** dst)
{
std::transform(begin, end, dst, &derived::duplicate);
}
+# endif /* !ACE_LACKS_MEMBER_TEMPLATES */
inline static void release_range(
object_type ** begin, object_type ** end)