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