1#ifndef _BBM_CONSTFOR_H_
2#define _BBM_CONSTFOR_H_
38 f.template operator()<size_t(0)>();
45 inline constexpr void constfor(F&& f, std::index_sequence<IDX...>)
47 (f.template operator()<IDX>(), ...);
53 template<
size_t NumItr,
typename F>
requires (NumItr == 0 || has_constfor_lambda<F>)
56 constfor(std::forward<F>(f), std::make_index_sequence<NumItr>{});
63#define CONSTFOR(IDX, NUMITR, ...) bbm::constfor<NUMITR>( [&]<size_t IDX>() { __VA_ARGS__; } );
Concept to check if a lambda function meets the required signature.
Definition: constfor.h:37
Definition: aggregatebsdf.h:29
constexpr void constfor(F &&f, std::index_sequence< IDX... >)
constfor given an index sequence of indexes.
Definition: constfor.h:45