You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current buffer providers fixed_buffer and dynamic_buffer are fine for simple tasks, but they can't handle types that don't have a default constructor, and I guess they can't handle proxy iterators either. We need a new dynamic buffer type that allows that. It probably means that a chunk a raw memory would be allocated, and every element should be associated to a boolean to know whether a type has already been constructed or not. Also, it should properly handle cleaning of resources when destructed.
Such a buffer could also be optimized thanks to traits such as std::is_trivially_destructible and friends once the basic features are there. It would allow to lower the otherwise rather expensive cost of the buffer provider when possible.
I gave it some more thought and tried to implement the thing. However, it seems that such a feature would need something akin to operator. to work properly and handle all the use cases in the library. The buffered sorters would also have to be modified so that they can handle arbitrary iterator types from the buffer providers rather than only pointers.
The text was updated successfully, but these errors were encountered:
The current buffer providers
fixed_buffer
anddynamic_buffer
are fine for simple tasks, but they can't handle types that don't have a default constructor, and I guess they can't handle proxy iterators either. We need a new dynamic buffer type that allows that. It probably means that a chunk a raw memory would be allocated, and every element should be associated to a boolean to know whether a type has already been constructed or not. Also, it should properly handle cleaning of resources when destructed.Such a buffer could also be optimized thanks to traits such as
std::is_trivially_destructible
and friends once the basic features are there. It would allow to lower the otherwise rather expensive cost of the buffer provider when possible.I gave it some more thought and tried to implement the thing. However, it seems that such a feature would need something akin to
operator.
to work properly and handle all the use cases in the library. The buffered sorters would also have to be modified so that they can handle arbitrary iterator types from the buffer providers rather than only pointers.The text was updated successfully, but these errors were encountered: