summaryrefslogtreecommitdiff
path: root/include/comphelper
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2019-08-26 01:26:34 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2019-08-26 07:25:18 +0200
commit8fc9c698ee643dd4363c5ad1daa7bbc0a13982d5 (patch)
tree15e85cd537dd96fa02f4aca5e7573645be27a11a /include/comphelper
parentf876dc9e16b9c85ae85ed848865531a8be0e911c (diff)
Generalize comphelper::concatSequences to accept other container types
... as second and following arguments. Change-Id: I1c994ec234354805bc702632878fd67a54d271d6 Reviewed-on: https://gerrit.libreoffice.org/78092 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'include/comphelper')
-rw-r--r--include/comphelper/sequence.hxx7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/comphelper/sequence.hxx b/include/comphelper/sequence.hxx
index 6c51311daf29..18e269173627 100644
--- a/include/comphelper/sequence.hxx
+++ b/include/comphelper/sequence.hxx
@@ -49,10 +49,9 @@ namespace comphelper
inline css::uno::Sequence<T> concatSequences(const css::uno::Sequence<T>& rS1, const Ss&... rSn)
{
// unary fold to disallow empty parameter pack: at least have one sequence in rSn
- css::uno::Sequence<T> aReturn(rS1.getLength() + (... + rSn.getLength()));
- T* pReturn;
- ((pReturn = std::copy_n(rS1.getConstArray(), rS1.getLength(), aReturn.getArray())), ...,
- (pReturn = std::copy_n(rSn.getConstArray(), rSn.getLength(), pReturn)));
+ css::uno::Sequence<T> aReturn(std::size(rS1) + (... + std::size(rSn)));
+ T* pReturn = std::copy(std::begin(rS1), std::end(rS1), aReturn.begin());
+ (..., (pReturn = std::copy(std::begin(rSn), std::end(rSn), pReturn)));
return aReturn;
}