// See method declaration for details.
	void DrawPrimitivesTaskList::CombineDrawPrimitivesTasks()
	{
		if(draw_primitives_tasks.size() < 2)
		{
			return;
		}

		auto current_task = draw_primitives_tasks.begin();
		auto next_task = current_task;
		for(++next_task; next_task != draw_primitives_tasks.end(); ++next_task)
		{
			if(current_task->CanCombineWith(*next_task) == true)
			{
				current_task->CombineWith(*next_task);
				draw_primitives_tasks.erase(next_task);
				next_task = current_task;
			}
			else
			{
				++current_task;
			}
		}
	}
Esempio n. 2
0
 TThisType& operator+=(const TThisType& r)
     {
         return CombineWith(r);
     }