added OPERATOR_EQ_IL

This commit is contained in:
Patrick 2024-07-22 23:32:52 +02:00
parent 5fd03b408b
commit 43a62df9e1
1 changed files with 13 additions and 0 deletions

View File

@ -263,4 +263,17 @@ inline std::ostream& operator<<(std::ostream& os, ReturnCode rc) {
return creator(std::make_index_sequence<N>()); \
}).operator()<len>(il)
#define OPERATOR_EQ_IL(obj, il, len) \
([&]<std::size_t N, typename ArgType>(std::initializer_list<ArgType> args) { \
auto creator = [&] <std::size_t ..._idx> (std::index_sequence<_idx...>) { \
return obj = { (*std::next(std::begin(args), _idx))... }; \
}; \
return creator(std::make_index_sequence<N>()); \
}).operator()<len>(il)
template<typename T>
constexpr typename std::remove_cvref_t<T>&& force_move(T&& obj) {
return static_cast<std::remove_cvref_t<T>&&>(obj);
}
#endif //CONST_CONTAINER_TEST_HPP_