fixes
This commit is contained in:
19
include/util/unroll_bool_template.hpp
Normal file
19
include/util/unroll_bool_template.hpp
Normal file
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include <utility>
|
||||
|
||||
template<typename F, bool... Values>
|
||||
auto unroll_bool_function_template(F&& f)
|
||||
{
|
||||
return f.template operator()<Values...>();
|
||||
}
|
||||
|
||||
template<typename F, bool... Values, typename Bool, typename... Bools>
|
||||
auto unroll_bool_function_template(F&& f, const Bool b, const Bools... bs)
|
||||
{
|
||||
if (b)
|
||||
{
|
||||
return unroll_bool_function_template<F, Values..., true>(std::forward<F>(f), bs...);
|
||||
}
|
||||
return unroll_bool_function_template<F, Values..., false>(std::forward<F>(f), bs...);
|
||||
}
|
||||
Reference in New Issue
Block a user