Implementing A "Future" Set Each "future" object will have a pointer to its containing "future" set, and its index within its index set. When the future object, that has a containing "futures" set, is being set, it will invoke a function of the "futures" set telling it another future is set (including the index). If the set's condition is now met, its own condition variable will be signaled.