aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/array.h
blob: 74a552ecc2757613c39a5ebb10a0c0db6b5ed523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#pragma once

#include <array>

namespace Utils {

template<typename Type, typename... Arguments>
constexpr auto to_array(Arguments &&...arguments)
{
    return std::array<Type, sizeof...(Arguments)>{std::forward<Arguments>(arguments)...};
}

template<typename Type, typename... Arguments>
constexpr auto to_sorted_array(Arguments &&...arguments)
{
    auto array = to_array<Type>(std::forward<Arguments>(arguments)...);
    std::ranges::sort(array);
    return array;
}

} // namespace Utils