NAME

ACE_Future_Set - This class implements a mechanism which allows the values of a collections of ACE_Future objects to be accessed by reader threads as they become available.

SYNOPSIS

#include <ace/Future_Set.h>

template<class T> class ACE_Future_Set : public ACE_Future_Observer<T> { public: ACE_Future_Set ( ACE_Message_Queue<ACE_SYNCH> *future_notification_queue_ = 0 ); ~ACE_Future_Set (void); int is_empty (void) const; int insert (ACE_Future<T> &future); int next_readable (ACE_Future<T> &result, ACE_Time_Value *tv = 0); virtual void update (const ACE_Future<T> &future); ACE_ALLOC_HOOK_DECLARE; private: inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Future_Set<T> &) ); typedef ACE_Future<T> FUTURE; typedef ACE_Future_Rep<T> FUTURE_REP; typedef ACE_Future_Holder<T> FUTURE_HOLDER; typedef ACE_Pointer_Hash<FUTURE_REP *> FUTURE_REP_HASH; typedef ACE_Equal_To<FUTURE_REP *> FUTURE_REP_COMPARE; typedef ACE_Hash_Map_Manager_Ex<FUTURE_REP *, FUTURE_HOLDER *, FUTURE_REP_HASH, FUTURE_REP_COMPARE, ACE_Null_Mutex> FUTURE_HASH_MAP; FUTURE_HASH_MAP future_map_; ACE_Message_Queue<ACE_SYNCH> *future_notification_queue_; int delete_queue_; };

Initialization and termination methods.

ACE_Future_Set (
    ACE_Message_Queue<ACE_SYNCH> *future_notification_queue_ = 0
    );

~ACE_Future_Set (void);

int is_empty (void) const;

int insert (ACE_Future<T> &future);

int next_readable (ACE_Future<T> &result, ACE_Time_Value *tv = 0);

virtual void update (const ACE_Future<T> &future);

ACE_ALLOC_HOOK_DECLARE;

Disallow these operations.

inline ACE_UNIMPLEMENTED_FUNC (
    void operator= (const ACE_Future_Set<T> &)
    );

typedef ACE_Future<T> FUTURE;

typedef ACE_Future_Rep<T> FUTURE_REP;

typedef ACE_Future_Holder<T> FUTURE_HOLDER;

typedef ACE_Pointer_Hash<FUTURE_REP *> FUTURE_REP_HASH;

typedef ACE_Equal_To<FUTURE_REP *> FUTURE_REP_COMPARE;

    typedef ACE_Hash_Map_Manager_Ex<FUTURE_REP *, FUTURE_HOLDER *, FUTURE_REP_HASH, FUTURE_REP_COMPARE, ACE_Null_Mutex> FUTURE_HASH_MAP;
    

FUTURE_HASH_MAP future_map_;

ACE_Message_Queue<ACE_SYNCH> *future_notification_queue_;

int delete_queue_;

AUTHOR (S)

John Tucker jtucker@infoglide.com

LIBRARY

ace