wait_list is internally based on std::vector (the m_events field),
but there is no way to request a memory block reservation even
if the size is known, which leads to unnecessary reallocations.
Please add the reserve() method which would simply forward its
argument(s -- a variadic template-based forwarder perhaps?) to
m_events.