Avoid use of mp_back in variant_index_type.cpp

This commit is contained in:
Peter Dimov
2024-12-22 04:52:07 +02:00
parent 8f6918554e
commit d77d61c8ec

View File

@ -47,17 +47,19 @@ template<template<class...> class F, std::size_t N> void test_()
{ {
using V = mp_rename< mp_transform<F, mp_iota_c<N>>, boost::variant2::variant >; using V = mp_rename< mp_transform<F, mp_iota_c<N>>, boost::variant2::variant >;
using last_type = F<mp_size_t<N-1>>;
{ {
V v( mp_back<V>{} ); V v( last_type{} );
BOOST_TEST_EQ( v.index(), mp_size<V>() - 1 ); BOOST_TEST_EQ( v.index(), N-1 );
} }
{ {
V v; V v;
BOOST_TEST_EQ( v.index(), 0 ); BOOST_TEST_EQ( v.index(), 0 );
v.template emplace< mp_back<V> >(); v.template emplace<last_type>();
BOOST_TEST_EQ( v.index(), mp_size<V>() - 1 ); BOOST_TEST_EQ( v.index(), N-1 );
} }
} }