Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
helios::utils::TransformFor Concept Reference

Concept for transformation functions that can be applied to iterator values. More...

#include <functional_adapters.hpp>

Concept definition

template<typename Func, typename ValueType>
!std::is_void_v<details::call_or_apply_result_t<Func, ValueType>>) ||
std::add_lvalue_reference_t<std::add_const_t<std::remove_cvref_t<ValueType>>>> &&
Func, std::add_lvalue_reference_t<std::add_const_t<std::remove_cvref_t<ValueType>>>>>) ||
!std::is_void_v<details::call_or_apply_result_t<Func, std::remove_cvref_t<ValueType>>>)
Concept for transformation functions that can be applied to iterator values.
typename decltype(get_call_or_apply_result_type< Func, Args... >())::type call_or_apply_result_t

Detailed Description

Concept for transformation functions that can be applied to iterator values.

The function must be invocable with the value type and return a non-void result. Supports both direct invocation and std::apply for tuple unpacking. Allows const ref consumption even if the original type is just ref or value.

Template Parameters
FuncFunction type
ValueTypeType of values to transform

Definition at line 134 of file functional_adapters.hpp.