[7297] Fixed profession spells sorting in trainer spell list at client.
[getmangos.git] / dep / ACE_wrappers / ace / Node.h
blob57433a70e4745873e55a333a9b75397f9d9c296d
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Node.h
7 * $Id: Node.h 81624 2008-05-06 17:14:57Z wotte $
9 * @author Doug Schmidt
11 //=============================================================================
14 #ifndef ACE_NODE_H
15 #define ACE_NODE_H
16 #include /**/ "ace/pre.h"
18 #include /**/ "ace/config-all.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
26 // Forward declarations.
27 template <class T, class C> class ACE_Unbounded_Set_Ex;
28 template <class T, class C> class ACE_Unbounded_Set_Ex_Iterator;
29 template <class T, class C> class ACE_Unbounded_Set_Ex_Const_Iterator;
30 template <class T> class ACE_Unbounded_Queue;
31 template <class T> class ACE_Unbounded_Queue_Iterator;
32 template <class T> class ACE_Unbounded_Queue_Const_Iterator;
33 template <class T> class ACE_Unbounded_Stack;
34 template <class T> class ACE_Unbounded_Stack_Iterator;
36 /**
37 * @class ACE_Node
39 * @brief Implementation element in a Queue, Set, and Stack.
41 template<class T, class C = void>
42 class ACE_Node
44 public:
45 friend class ACE_Unbounded_Queue<T>;
46 friend class ACE_Unbounded_Queue_Iterator<T>;
47 friend class ACE_Unbounded_Queue_Const_Iterator<T>;
48 friend class ACE_Unbounded_Set_Ex<T, C>;
49 friend class ACE_Unbounded_Set_Ex_Iterator<T, C>;
50 friend class ACE_Unbounded_Set_Ex_Const_Iterator<T, C>;
51 friend class ACE_Unbounded_Stack<T>;
52 friend class ACE_Unbounded_Stack_Iterator<T>;
54 /// This isn't necessary, but it keeps some compilers happy.
55 ~ACE_Node (void);
57 private:
58 // = Initialization methods
59 ACE_Node (const T &i, ACE_Node<T, C> *n);
60 ACE_Node (ACE_Node<T, C> *n = 0, int = 0);
61 ACE_Node (const ACE_Node<T, C> &n);
62 private:
63 /// Not possible
64 void operator= (const ACE_Node<T, C> &);
66 private:
67 /// Pointer to next element in the list of ACE_Nodes.
68 ACE_Node<T, C> *next_;
70 /// Current value of the item in this node.
71 T item_;
74 ACE_END_VERSIONED_NAMESPACE_DECL
76 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
77 #include "ace/Node.cpp"
78 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
80 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
81 #pragma implementation ("Node.cpp")
82 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
84 #include /**/ "ace/post.h"
85 #endif /* ACE_NODE_H */