Transpose returned values for enumerate() of non-tuple

Match the order used for tuple.
This commit is contained in:
Kp 2021-06-28 03:37:50 +00:00
parent 2dd497c96b
commit 7b12aac1bb
10 changed files with 15 additions and 15 deletions

View file

@ -21,8 +21,8 @@
template <typename range_value_type, typename index_type>
struct enumerated_value
{
range_value_type value;
const index_type idx;
range_value_type value;
};
namespace d_enumerate {
@ -66,7 +66,7 @@ public:
if constexpr (adjust_iterator_dereference_type::value)
return std::tuple_cat(std::tuple<index_type>(m_idx), *m_iter);
else
return {*m_iter, m_idx};
return {m_idx, *m_iter};
}
enumerated_iterator &operator++()
{

View file

@ -221,7 +221,7 @@ static int menu_match_keypress(MENU &menu, int keypress)
c = key_ascii();
for (auto &&[item, i] : enumerate(partial_range(menu.Item, menu.NumItems)))
for (auto &&[i, item] : enumerate(partial_range(menu.Item, menu.NumItems)))
{
auto letter = strrchr(item.Text.get(), CC_UNDERLINE);
if (letter)
@ -252,7 +252,7 @@ static int menu_is_mouse_on(const ITEM &item)
static int menu_check_mouse_item(const MENU &menu)
{
for (auto &&[item, i] : enumerate(partial_range(menu.Item, menu.NumItems)))
for (auto &&[i, item] : enumerate(partial_range(menu.Item, menu.NumItems)))
{
if (menu_is_mouse_on(item))
{

View file

@ -607,7 +607,7 @@ static int med_copy_group(const unsigned delta_flag, const vmsegptridx_t base_se
range_for(const auto &gs, GroupList[new_current_group].segments)
{
const auto &&segp = base_seg.absolute_sibling(gs);
for (auto &&[child_segnum, sidenum] : enumerate(segp->shared_segment::children))
for (auto &&[sidenum, child_segnum] : enumerate(segp->shared_segment::children))
if (IS_CHILD(child_segnum))
{
if (!in_group(child_segnum, new_current_group))

View file

@ -251,7 +251,7 @@ static void write_exit_text(fvcsegptridx &vcsegptridx, fvcwallptridx &vcwallptri
count = 0;
range_for (const auto &&segp, vcsegptridx)
{
for (const auto &&[child_segnum, sidenum] : enumerate(segp->shared_segment::children))
for (const auto &&[sidenum, child_segnum] : enumerate(segp->shared_segment::children))
{
if (child_segnum == segment_exit)
{

View file

@ -444,7 +444,7 @@ static std::pair<icsegidx_t, sidenum_fast_t> find_exit_segment_side(fvcsegptridx
{
range_for (const auto &&segp, vcsegptridx)
{
for (const auto &&[child_segnum, sidenum] : enumerate(segp->shared_segment::children))
for (const auto &&[sidenum, child_segnum] : enumerate(segp->shared_segment::children))
{
if (child_segnum == segment_exit)
{

View file

@ -260,7 +260,7 @@ static void verify_object(const d_vclip_array &Vclip, object &obj, const savegam
if (obj.render_type == RT_POLYOBJ)
{
const auto name = Save_pof_names[obj.rtype.pobj_info.model_num];
for (auto &&[candidate_name, i] : enumerate(partial_range(LevelSharedPolygonModelState.Pof_names, LevelSharedPolygonModelState.N_polygon_models)))
for (auto &&[i, candidate_name] : enumerate(partial_range(LevelSharedPolygonModelState.Pof_names, LevelSharedPolygonModelState.N_polygon_models)))
if (!d_stricmp(candidate_name, name)) { //found it!
obj.rtype.pobj_info.model_num = i;
break;

View file

@ -624,7 +624,7 @@ static void RegisterPlayer()
return;
}
for (auto &&[mi, i] : enumerate(unchecked_partial_range(m.get(), idx_next_string)))
for (auto &&[i, mi] : enumerate(unchecked_partial_range(m.get(), idx_next_string)))
if (!d_stricmp(static_cast<const char *>(callsign), mi))
{
citem = i;

View file

@ -420,7 +420,7 @@ void update_bounty_target()
std::array<std::pair<playernum_t, const char *>, std::size(Players)> candidates{};
const auto b = candidates.begin();
auto iter = b;
for (auto &&[plr, idx] : enumerate(Players))
for (auto &&[idx, plr] : enumerate(Players))
if (plr.connected)
*iter++ = {idx, plr.callsign};
const auto n = std::distance(b, iter);

View file

@ -141,7 +141,7 @@ unsigned net_udp_select_teams_menu_items::setup_team_sensitive_entries(const uns
const auto tv = team_vector;
auto mi = std::next(m.begin(), blue_team_first_player);
unsigned ir = blue_team_first_player;
for (auto &&[ngp, i] : enumerate(partial_range(Netgame.players, num_players)))
for (auto &&[i, ngp] : enumerate(partial_range(Netgame.players, num_players)))
{
if (tv & (1 << i))
continue;
@ -154,7 +154,7 @@ unsigned net_udp_select_teams_menu_items::setup_team_sensitive_entries(const uns
nm_set_item_input(*mi, team_names[1].a);
++ mi;
++ ir;
for (auto &&[ngp, i] : enumerate(partial_range(Netgame.players, num_players)))
for (auto &&[i, ngp] : enumerate(partial_range(Netgame.players, num_players)))
{
if (!(tv & (1 << i)))
continue;
@ -3608,7 +3608,7 @@ window_event_result netgame_powerups_allowed_menu::event_handler(const d_event &
case EVENT_WINDOW_CLOSE:
{
unsigned AllowedItems = 0;
for (auto &&[mi, i] : enumerate(m))
for (auto &&[i, mi] : enumerate(m))
if (mi.value)
AllowedItems |= (1 << i);
Netgame.AllowedItems = AllowedItems;

View file

@ -234,7 +234,7 @@ struct weapon_reorder_menu : weapon_reorder_menu_items<cycle_weapon_state>, reor
template <typename cycle_weapon_state>
weapon_reorder_menu_items<cycle_weapon_state>::weapon_reorder_menu_items()
{
for (auto &&[mi, i] : enumerate(menu_items))
for (auto &&[i, mi] : enumerate(menu_items))
{
const auto o = cycle_weapon_state::get_weapon_by_order_slot(i);
mi.value = o;
@ -251,7 +251,7 @@ window_event_result weapon_reorder_menu<cycle_weapon_state>::event_handler(const
event_key_command(event);
break;
case EVENT_WINDOW_CLOSE:
for (auto &&[mi, i] : enumerate(menu_items))
for (auto &&[i, mi] : enumerate(menu_items))
cycle_weapon_state::get_weapon_by_order_slot(i) = mi.value;
break;
default: