include/comphelper/sequence.hxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
New commits: commit 00a76942e423589e3fdd4e059be753eab3393344 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Fri Oct 29 16:23:53 2021 +0200 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sat Oct 30 08:01:28 2021 +0200 Optimize comphelper::arrayToSequence for same types case Change-Id: I4949a997f4496e20845a83825fab652089500bad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124202 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/include/comphelper/sequence.hxx b/include/comphelper/sequence.hxx index a42ef2d2f341..1aa3fbea803d 100644 --- a/include/comphelper/sequence.hxx +++ b/include/comphelper/sequence.hxx @@ -121,9 +121,14 @@ namespace comphelper template < typename DstType, typename SrcType > inline css::uno::Sequence< DstType > arrayToSequence( const SrcType* i_pArray, sal_Int32 nNum ) { - css::uno::Sequence< DstType > result( nNum ); - ::std::copy( i_pArray, i_pArray+nNum, result.getArray() ); - return result; + if constexpr (std::is_same_v< DstType, SrcType >) + return css::uno::Sequence< DstType >( i_pArray, nNum ); + else + { + css::uno::Sequence< DstType > result( nNum ); + ::std::copy( i_pArray, i_pArray+nNum, result.getArray() ); + return result; + } }