indexed_invslice inventory::slice_filter_by_category(item_cat cat, const player &u) { int i = 0; indexed_invslice stacks; for (invstack::iterator iter = items.begin(); iter != items.end(); ++iter) { if (has_category(iter->front(), cat, u)) { stacks.push_back(std::make_pair(&*iter, i)); } ++i; } return stacks; }
indexed_invslice inventory::slice_filter_by_category(item_cat cat, const player &u) { int i = 0; indexed_invslice stacks; for( auto &elem : items ) { if( has_category( elem.front(), cat, u ) ) { stacks.push_back( std::make_pair( &elem, i ) ); } ++i; } return stacks; }