<snip>
what i would like to be able to do is move the vector straight into the flat_set, something like:
std::vector<T> data;
flat_set data_set1(std::move(data)) // move vector in and sort it // or: std::sort(data.begin(), data.end()); // sort vector flat_set data_set2(ordered_unique_t, std::move(data)) // and move it in
is this doable (am i just being blind?) or is there plans/interest for this?
</snip> You'll probably never be able to move the whole allocation, but you might be able to move each element via std::make_move_iterator flat_set data_set2(ordered_unique_t, std::make_move_iterator(data.begin()), std::make_move_iterator(data.end())); // moves each element, but not the whole allocation, so still not free. I haven't tried this though. -- chris