A list of FutureCores with common future-related operations. Future providers may use BaseFutureList or FutureList in place of a plain IntrusiveForwardList.
This class does not provide any locking. It is the responsibility of the user to ensure safety, typically by holding a lock in the containing provider.
Public Member Functions | |
| bool | empty () const |
| void | Push (FutureCore &future) |
| void | PushRequireEmpty (FutureCore &future) |
| bool | PushIfEmpty (FutureCore &future) |
| FutureCore * | PopIfAvailable () |
| FutureCore & | Pop () |
| void | ResolveOne () |
| void | ResolveOneIfAvailable () |
| void | ResolveAll () |
Pops all futures and calls WakeAndMarkReady() on them. | |
Protected Member Functions | |
| IntrusiveForwardList< FutureCore > & | list () |
|
inline |
Pops the next future fromt the list and calls WakeAndMarkReady(). Crashes if there are no futures in the list.