diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-25 15:17:59 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-08-25 15:17:59 +0000 |
commit | 4c5c96950d4b61e3a814f4abe93e974544973539 (patch) | |
tree | e9a1bfb52cf88ef8affcd5ef6d7a551107173ed3 /ace/Future_Node.h | |
parent | a45865482cade7523b3229deaa42362cd41475a7 (diff) | |
download | ATCD-4c5c96950d4b61e3a814f4abe93e974544973539.tar.gz |
This commit was manufactured by cvs2svn to create branch 'pre-PI'.pre-PI
Diffstat (limited to 'ace/Future_Node.h')
-rw-r--r-- | ace/Future_Node.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/ace/Future_Node.h b/ace/Future_Node.h new file mode 100644 index 00000000000..8590cbaccca --- /dev/null +++ b/ace/Future_Node.h @@ -0,0 +1,72 @@ +/* -*- C++ -*- */ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// ace +// +// = FILENAME +// Future_Node.h +// +// = AUTHOR +// John Tucker <jtucker@infoglide.com> +// +// ============================================================================ + +#ifndef ACE_FUTURE_NODE_H +#define ACE_FUTURE_NODE_H + +#include "ace/Future.h" +#include "ace/Thread.h" +#include "ace/Containers_T.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined (ACE_HAS_THREADS) + +// Forward decl. +template <class T> class ACE_Future_Node; +template <class T> class ACE_DLList_Future_Node; + +template <class T> +class ACE_DLList_Future_Node +{ + // = TITLE + // Implementation of element in a ACE_Future list. + // Needed for ACE_Double_Linked_List. + + friend class ACE_Double_Linked_List<ACE_DLList_Future_Node>; + friend class ACE_Double_Linked_List_Iterator<ACE_DLList_Future_Node>; + +public: + // = Initialization + ACE_DLList_Future_Node (const ACE_Future<T> &future, + ACE_DLList_Future_Node *n = 0, + ACE_DLList_Future_Node *p = 0); + ~ACE_DLList_Future_Node (void); + + ACE_ALLOC_HOOK_DECLARE; + // Declare the dynamic allocation hooks. + + ACE_Future<T> item_; + ACE_DLList_Future_Node *next_; + ACE_DLList_Future_Node *prev_; + +protected: + ACE_DLList_Future_Node (void); +}; + + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "ace/Future_Node.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("Future_Node.cpp") +#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ + +#endif /* ACE_HAS_THREADS */ +#endif /* ACE_FUTURE_NODE_H */ |