summaryrefslogtreecommitdiff
path: root/ace/Future_Node.h
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-25 15:17:59 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-25 15:17:59 +0000
commit4c5c96950d4b61e3a814f4abe93e974544973539 (patch)
treee9a1bfb52cf88ef8affcd5ef6d7a551107173ed3 /ace/Future_Node.h
parenta45865482cade7523b3229deaa42362cd41475a7 (diff)
downloadATCD-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.h72
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 */