Transpose returned values for enumerate() of non-tuple
Match the order used for tuple.
This commit is contained in:
parent
2dd497c96b
commit
7b12aac1bb
|
@ -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++()
|
||||
{
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue