diff options
Diffstat (limited to 'tests/framework')
-rw-r--r-- | tests/framework/datasets/CartesianProductDataset.h | 16 | ||||
-rw-r--r-- | tests/framework/datasets/ZipDataset.h | 16 |
2 files changed, 30 insertions, 2 deletions
diff --git a/tests/framework/datasets/CartesianProductDataset.h b/tests/framework/datasets/CartesianProductDataset.h index 19ac4f6666..7b3ff12047 100644 --- a/tests/framework/datasets/CartesianProductDataset.h +++ b/tests/framework/datasets/CartesianProductDataset.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 Arm Limited. + * Copyright (c) 2017-2018, 2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -186,6 +186,20 @@ CartesianProductDataset<T, U> combine(T &&dataset1, U &&dataset2) * * @param[in] dataset1 First dataset. * @param[in] dataset2 Second dataset. + * @param[in] datasets Subsequent dataset. + * + * @return A grid dataset. + */ +template <typename T1, typename T2, typename... Ts> +auto combine(T1 &&dataset1, T2 &&dataset2, Ts &&... datasets) -> decltype(combine(std::forward<T1>(dataset1), combine(std::forward<T2>(dataset2), std::forward<Ts>(datasets)...))) +{ + return combine(std::forward<T1>(dataset1), combine(std::forward<T2>(dataset2), std::forward<Ts>(datasets)...)); +} + +/** Helper function to create a @ref CartesianProductDataset. + * + * @param[in] dataset1 First dataset. + * @param[in] dataset2 Second dataset. * * @return A grid dataset. */ diff --git a/tests/framework/datasets/ZipDataset.h b/tests/framework/datasets/ZipDataset.h index ce1bb37cab..0b963484c5 100644 --- a/tests/framework/datasets/ZipDataset.h +++ b/tests/framework/datasets/ZipDataset.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 Arm Limited. + * Copyright (c) 2017-2018, 2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -150,6 +150,20 @@ ZipDataset<T, U> zip(T &&dataset1, U &&dataset2) { return ZipDataset<T, U>(std::forward<T>(dataset1), std::forward<U>(dataset2)); } + +/** Helper function to create a @ref ZipDataset. + * + * @param[in] dataset1 First dataset. + * @param[in] dataset2 Second dataset. + * @param[in] datasets Subsequent datasets. + * + * @return A zip dataset. + */ +template <typename T1, typename T2, typename... Ts> +auto zip(T1 &&dataset1, T2 &&dataset2, Ts &&... datasets) -> decltype(zip(std::forward<T1>(dataset1), zip(std::forward<T2>(dataset2), std::forward<Ts>(datasets)...))) +{ + return zip(std::forward<T1>(dataset1), zip(std::forward<T2>(dataset2), std::forward<Ts>(datasets)...)); +} } // namespace dataset } // namespace framework } // namespace test |