Why does a range need a copy (instead of a move) constructor?

Why does a range need a copy (instead of a move) constructor?

TBB's range concept requires a copy constructor. Unfortunately, the reference manual does not specify why this is required, and algorithmically duplicating a range makes no/little sense. I can see that moving a range around between different parts of the algorithms may be necessary, but this can be achieved either by copying pointers or by using the move constructor. Are there plans to relax the concept to allow move-only constructible ranges (but still work with copy-constructible)? Or are there reasons (which) why this cannot be done?

2 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

A Range is just a pair of numbers/pointers/iterators: any referents are stored elsewhere.

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen