added OPERATOR_EQ_IL
This commit is contained in:
parent
5fd03b408b
commit
43a62df9e1
|
|
@ -263,4 +263,17 @@ inline std::ostream& operator<<(std::ostream& os, ReturnCode rc) {
|
||||||
return creator(std::make_index_sequence<N>()); \
|
return creator(std::make_index_sequence<N>()); \
|
||||||
}).operator()<len>(il)
|
}).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_
|
#endif //CONST_CONTAINER_TEST_HPP_
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue