Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <utility> 7 : 8 : #include "Utilities/ForceInline.hpp" 9 : 10 : /*! 11 : * \ingroup UtilitiesGroup 12 : * \brief Used for overloading lambdas, useful for lambda-SFINAE 13 : * 14 : * \snippet Utilities/Test_Overloader.cpp overloader_example 15 : */ 16 : template <class... Fs> 17 1 : struct Overloader : Fs... { 18 : using Fs::operator()...; 19 : }; 20 : 21 : template <class... Fs> 22 0 : Overloader(Fs...) -> Overloader<Fs...>;