4#ifndef _Stroika_Foundation_Execution_UpdatableWaitForIOReady_h_
5#define _Stroika_Foundation_Execution_UpdatableWaitForIOReady_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
63 template <
typename T = WaitForIOReady_Support::SDKPollableType,
typename TRAITS = WaitForIOReady_Support::WaitForIOReady_Traits<T>>
83 nonvirtual
void Add (T fd,
const TypeOfMonitorSet& flags = kDefaultTypeOfMonitor);
94 nonvirtual
void Remove (T fd);
109 nonvirtual
void SetDescriptors (
const Traversal::Iterable<pair<T, TypeOfMonitorSet>>& fds);
116 nonvirtual
void clear ();
188 unique_ptr<WaitForIOReady_Support::EventFD> fEventFD_;
189 pair<SDKPollableType, TypeOfMonitorSet> fPollable2Wakeup_;
200#include "UpdatableWaitForIOReady.inl"
time_point< RealtimeClock, DurationSeconds > TimePointSeconds
TimePointSeconds is a simpler approach to chrono::time_point, which doesn't require using templates e...
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
Wrap any object with Synchronized<> and it can be used similarly to the base type,...
Simple wrapper on WaitForIOReady (POSIX select/poll/etc API) - except it allows for the list if polle...
Duration is a chrono::duration<double> (=.
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.