Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
overloaded.hpp
Go to the documentation of this file.
1// -------------------------------------------------------//
2//
3// SHAMROCK code for hydrodynamics
4// Copyright (c) 2021-2026 Timothée David--Cléris <tim.shamrock@proton.me>
5// SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1
6// Shamrock is licensed under the CeCILL 2.1 License, see LICENSE for more information
7//
8// -------------------------------------------------------//
9
10#pragma once
11
18
19namespace shambase {
20
34 template<class... Ts>
35 struct overloaded : Ts... {
36 using Ts::operator()...;
37 };
38
40 template<class... Ts>
41 overloaded(Ts...) -> overloaded<Ts...>;
42
43} // namespace shambase
namespace for basic c++ utilities
overloaded(Ts...) -> overloaded< Ts... >
Deduction guide so overloaded{lambda1, lambda2, ...} deduces Ts... from the lambdas.
Build an overload set out of several callables, for use with std::visit.