| Action Engine
             | 
A Reader is used to read items from a Channel.
You can get a pointer to a Reader by calling Channel<T>::reader(), which is the object that you should pass to code that needs to read from the channel.
#include <channel.h>
| Public Member Functions | |
| bool | Read (T *absl_nonnull item) | 
| Reads an item from the channel, blocking until it can be read. Returns false if and only if the channel is closed. | |
| Case | OnRead (T *absl_nonnull item, bool *absl_nonnull ok) | 
| Returns a Case that can be used to wait for and synchronise on reading an item from the channel. | |
| Case thread::Reader< T >::OnRead | ( | T *absl_nonnull | item, | 
| bool *absl_nonnull | ok ) | 
Returns a Case that can be used to wait for and synchronise on reading an item from the channel.
| bool thread::Reader< T >::Read | ( | T *absl_nonnull | item | ) | 
Reads an item from the channel, blocking until it can be read. Returns false if and only if the channel is closed.
On returning true, the item is moved into the provided pointer.