summaryrefslogtreecommitdiff
path: root/ACE/ace/Unbounded_Set.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Unbounded_Set.h')
-rw-r--r--ACE/ace/Unbounded_Set.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/ACE/ace/Unbounded_Set.h b/ACE/ace/Unbounded_Set.h
new file mode 100644
index 00000000000..9a235126c08
--- /dev/null
+++ b/ACE/ace/Unbounded_Set.h
@@ -0,0 +1,103 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Unbounded_Set.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_UNBOUNDED_SET_H
+#define ACE_UNBOUNDED_SET_H
+#include /**/ "ace/pre.h"
+
+#include "ace/Unbounded_Set_Ex.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class ACE_Allocator;
+
+/**
+ * @struct ACE_Unbounded_Set_Default_Comparator
+ * @brief Simple comparator that evaluates equality using == operator.
+ */
+template<typename T>
+struct ACE_Unbounded_Set_Default_Comparator
+{
+ bool operator() (const T&lhs, const T&rhs) const;
+};
+
+template<typename T>
+class ACE_Unbounded_Set;
+
+/**
+ * @class ACE_Unbounded_Set_Iterator
+ * @brief Compatibility wrapper for ACE_Unbounded_Set_Ex_Iterator.
+ */
+template <typename T>
+class ACE_Unbounded_Set_Iterator : public
+ ACE_Unbounded_Set_Ex_Iterator<T, ACE_Unbounded_Set_Default_Comparator<T> >
+{
+public:
+ typedef ACE_Unbounded_Set_Ex_Iterator<T, ACE_Unbounded_Set_Default_Comparator<T> > base_type;
+
+ // = Initialization method.
+ ACE_Unbounded_Set_Iterator (ACE_Unbounded_Set<T> &s, bool end = false);
+
+ ACE_Unbounded_Set_Iterator (const base_type &s);
+};
+
+/**
+ * @class ACE_Unbounded_Set_Const_Iterator
+ * @brief Compatibility wrapper for ACE_Unbounded_Set_Ex_Const_Iterator.
+ */
+template <class T>
+class ACE_Unbounded_Set_Const_Iterator : public
+ ACE_Unbounded_Set_Ex_Const_Iterator<T, ACE_Unbounded_Set_Default_Comparator<T> >
+{
+public:
+
+ typedef ACE_Unbounded_Set_Ex_Const_Iterator<T, ACE_Unbounded_Set_Default_Comparator<T> > base_type;
+
+ // = Initialization method.
+ ACE_Unbounded_Set_Const_Iterator (const ACE_Unbounded_Set<T> &s,
+ bool end = false);
+
+ ACE_Unbounded_Set_Const_Iterator (const base_type &s);
+};
+
+/**
+ * @class ACE_Unbounded_Set
+ * @brief Compatibility wrapper for ACE_Unbounded_Set_Ex.
+ */
+template<typename T>
+class ACE_Unbounded_Set : public
+ ACE_Unbounded_Set_Ex<T, ACE_Unbounded_Set_Default_Comparator<T> >
+{
+public:
+ ACE_Unbounded_Set (ACE_Allocator *alloc = 0);
+};
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#if defined (__ACE_INLINE__)
+#include "ace/Unbounded_Set.inl"
+#endif /* __ACE_INLINE__ */
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "ace/Unbounded_Set.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Unbounded_Set.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#include /**/ "ace/post.h"
+#endif /* ACE_UNBOUNDED_SET_H */