avoid another vector copy (nw)

This commit is contained in:
Vas Crabb 2016-07-10 22:26:06 +10:00
parent 3258d3feef
commit 875ed23eaf
3 changed files with 5 additions and 7 deletions

View File

@ -555,8 +555,8 @@ void menu_quit_game::handle()
// ctor / dtor // ctor / dtor
//------------------------------------------------- //-------------------------------------------------
menu_export::menu_export(mame_ui_manager &mui, render_container &container, std::vector<const game_driver *> drvlist) menu_export::menu_export(mame_ui_manager &mui, render_container &container, std::vector<const game_driver *> &&drvlist)
: menu(mui, container), m_list(drvlist) : menu(mui, container), m_list(std::move(drvlist))
{ {
} }

View File

@ -115,7 +115,7 @@ private:
class menu_export : public menu class menu_export : public menu
{ {
public: public:
menu_export(mame_ui_manager &mui, render_container &container, std::vector<const game_driver*> list); menu_export(mame_ui_manager &mui, render_container &container, std::vector<const game_driver*> &&list);
virtual ~menu_export(); virtual ~menu_export();
private: private:

View File

@ -1635,19 +1635,17 @@ void menu_select_game::general_info(const game_driver *driver, std::string &buff
void menu_select_game::inkey_export() void menu_select_game::inkey_export()
{ {
std::vector<const game_driver *> list; std::vector<game_driver const *> list;
if (m_search[0] != 0) if (m_search[0] != 0)
{ {
for (int curitem = 0; m_searchlist[curitem]; ++curitem) for (int curitem = 0; m_searchlist[curitem]; ++curitem)
{
list.push_back(m_searchlist[curitem]); list.push_back(m_searchlist[curitem]);
}
} }
else else
{ {
list = m_displaylist; list = m_displaylist;
} }
menu::stack_push<menu_export>(ui(), container(), list); menu::stack_push<menu_export>(ui(), container(), std::move(list));
} }
//------------------------------------------------- //-------------------------------------------------