3 //=============================================================================
9 //=============================================================================
14 #include /**/ "ace/pre.h"
16 #include /**/ "ace/config-all.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
24 // Forward declarations.
25 template <class T
, class C
> class ACE_Unbounded_Set_Ex
;
26 template <class T
, class C
> class ACE_Unbounded_Set_Ex_Iterator
;
27 template <class T
, class C
> class ACE_Unbounded_Set_Ex_Const_Iterator
;
28 template <class T
> class ACE_Unbounded_Queue
;
29 template <class T
> class ACE_Unbounded_Queue_Iterator
;
30 template <class T
> class ACE_Unbounded_Queue_Const_Iterator
;
31 template <class T
> class ACE_Unbounded_Stack
;
32 template <class T
> class ACE_Unbounded_Stack_Iterator
;
37 * @brief Implementation element in a Queue, Set, and Stack.
39 template<class T
, class C
= void>
43 friend class ACE_Unbounded_Queue
<T
>;
44 friend class ACE_Unbounded_Queue_Iterator
<T
>;
45 friend class ACE_Unbounded_Queue_Const_Iterator
<T
>;
46 friend class ACE_Unbounded_Set_Ex
<T
, C
>;
47 friend class ACE_Unbounded_Set_Ex_Iterator
<T
, C
>;
48 friend class ACE_Unbounded_Set_Ex_Const_Iterator
<T
, C
>;
49 friend class ACE_Unbounded_Stack
<T
>;
50 friend class ACE_Unbounded_Stack_Iterator
<T
>;
52 ~ACE_Node () = default;
54 ACE_ALLOC_HOOK_DECLARE
;
57 ACE_Node (const T
&i
, ACE_Node
<T
, C
> *n
);
58 ACE_Node (ACE_Node
<T
, C
> *n
= nullptr, int = 0);
59 ACE_Node (const ACE_Node
<T
, C
> &n
);
61 void operator= (const ACE_Node
<T
, C
> &) = delete;
64 /// Pointer to next element in the list of ACE_Nodes.
65 ACE_Node
<T
, C
> *next_
;
67 /// Current value of the item in this node.
71 ACE_END_VERSIONED_NAMESPACE_DECL
73 #include "ace/Node.cpp"
75 #include /**/ "ace/post.h"
76 #endif /* ACE_NODE_H */