diff options
Diffstat (limited to 'TAO/tao/Array_Traits_T.h')
-rw-r--r-- | TAO/tao/Array_Traits_T.h | 14 |
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 |