summaryrefslogtreecommitdiff
path: root/TAO/tao/Array_Traits_T.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Array_Traits_T.h')
-rw-r--r--TAO/tao/Array_Traits_T.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/TAO/tao/Array_Traits_T.h b/TAO/tao/Array_Traits_T.h
index 3e3178af511..76f9c5d5ea7 100644
--- a/TAO/tao/Array_Traits_T.h
+++ b/TAO/tao/Array_Traits_T.h
@@ -63,7 +63,18 @@ struct array_traits
std::for_each(
begin, end, &TAO::Array_Traits<forany_type>::zero);
}
-
+# ifndef ACE_LACKS_MEMBER_TEMPLATES
+ // Allow MSVC++ >= 8 checked iterators to be used.
+ template <typename iter>
+ inline static void copy_range(
+ value_type * begin, value_type * end, iter dst)
+ {
+ for(value_type * i = begin; i != end; ++i, ++dst)
+ {
+ TAO::Array_Traits<forany_type>::copy(*dst, *i);
+ }
+ }
+#else
inline static void copy_range(
value_type * begin, value_type * end, value_type *dst)
{
@@ -72,6 +83,7 @@ struct array_traits
TAO::Array_Traits<forany_type>::copy(*dst, *i);
}
}
+# endif /* !ACE_LACKS_MEMBER_TEMPLATES */
};
} // namespace details